Author: tejohnson
Date: Fri Aug 17 06:19:36 2018
New Revision: 340021
URL: http://llvm.org/viewvc/llvm-project?rev=340021&view=rev
Log:
[ThinLTO] Correct documentation on default number of threads
Summary:
The number of threads used for ThinLTO backend parallelism was
dropped to the number of cor
On Thu, May 31, 2018 at 12:00 PM Peter Collingbourne
wrote:
>
>
> On Thu, May 31, 2018 at 11:54 AM, David Blaikie
> wrote:
>
>>
>>
>> On Thu, May 31, 2018 at 11:20 AM Peter Collingbourne via Phabricator <
>> revi...@reviews.llvm.org> wrote:
>>
>>> pcc created this revision.
>>> pcc added reviewe
Author: tejohnson
Date: Mon Jun 4 16:05:24 2018
New Revision: 333966
URL: http://llvm.org/viewvc/llvm-project?rev=333966&view=rev
Log:
[ThinLTO] Add testing of new summary index format to a couple CFI tests
Summary:
Adds testing of combined index summary entries in disassembly format
to CFI test
Author: tejohnson
Date: Fri Jan 11 10:32:07 2019
New Revision: 350949
URL: http://llvm.org/viewvc/llvm-project?rev=350949&view=rev
Log:
[LTO] Add option to enable LTOUnit splitting, and disable unless needed
Summary:
Adds a new -f[no]split-lto-unit flag that is disabled by default to
control modu
Author: tejohnson
Date: Thu Nov 29 09:02:59 2018
New Revision: 347887
URL: http://llvm.org/viewvc/llvm-project?rev=347887&view=rev
Log:
[ThinLTO] Allow importing of multiple symbols with same GUID
Summary:
The is the clang side of the fix in D55047, to handle the case where
two different modules
Author: tejohnson
Date: Thu Nov 29 10:02:31 2018
New Revision: 347892
URL: http://llvm.org/viewvc/llvm-project?rev=347892&view=rev
Log:
Add missing REQUIRES to new test
Test added in r347887 requires an x86 target.
Modified:
cfe/trunk/test/CodeGen/thinlto_backend_local_name_conflict.ll
Modi
Author: tejohnson
Date: Tue Apr 23 11:56:19 2019
New Revision: 359025
URL: http://llvm.org/viewvc/llvm-project?rev=359025&view=rev
Log:
[ThinLTO] Pass down opt level to LTO backend and handle -O0 LTO in new PM
Summary:
The opt level was not being passed down to the ThinLTO backend when
invoked vi
Author: tejohnson
Date: Fri Jul 19 16:02:58 2019
New Revision: 366623
URL: http://llvm.org/viewvc/llvm-project?rev=366623&view=rev
Log:
[LTO] Always mark regular LTO units with EnableSplitLTOUnit=1
Summary:
Regular LTO modules do not need LTO Unit splitting, only ThinLTO does
(they must be consis
Author: tejohnson
Date: Fri May 10 13:38:31 2019
New Revision: 360468
URL: http://llvm.org/viewvc/llvm-project?rev=360468&view=rev
Log:
[ThinLTO] Clang test changes for new CanAutoHide flag
Modified:
cfe/trunk/test/CodeGen/thinlto-distributed-cfi-devirt.ll
cfe/trunk/test/CodeGen/thinlto-d
Author: tejohnson
Date: Fri Jan 4 11:05:01 2019
New Revision: 350424
URL: http://llvm.org/viewvc/llvm-project?rev=350424&view=rev
Log:
[ThinLTO] Clang changes to utilize new pass to handle chains of aliases
Summary:
As with NameAnonGlobals, invoke the new CanonicalizeAliases via clang
when using
Author: tejohnson
Date: Mon Sep 30 08:05:35 2019
New Revision: 373217
URL: http://llvm.org/viewvc/llvm-project?rev=373217&view=rev
Log:
[Clang] Use -main-file-name for source filename if not set
-main-file-name is currently used to set the source name used in debug
information.
If the source fil
Author: tejohnson
Date: Mon Sep 30 10:26:48 2019
New Revision: 373237
URL: http://llvm.org/viewvc/llvm-project?rev=373237&view=rev
Log:
Fix buildbot failure from r373217 (don't match metadata id exactly)
Fix this failure by ignoring the id of the metadata being checked:
http://green.lab.llvm
Author: tejohnson
Date: Tue Oct 1 11:08:29 2019
New Revision: 373370
URL: http://llvm.org/viewvc/llvm-project?rev=373370&view=rev
Log:
[ThinLTO] Enable index-only WPD from clang
Summary:
To trigger the index-only Whole Program Devirt support added to LLVM, we
need to be able to specify -fno-spli
Author: tejohnson
Date: Tue Apr 17 09:39:25 2018
New Revision: 330194
URL: http://llvm.org/viewvc/llvm-project?rev=330194&view=rev
Log:
[ThinLTO] Pass -save-temps to LTO backend for distributed ThinLTO builds
Summary:
The clang driver option -save-temps was not passed to the LTO config,
so when i
Author: tejohnson
Date: Tue Apr 17 13:21:53 2018
New Revision: 330210
URL: http://llvm.org/viewvc/llvm-project?rev=330210&view=rev
Log:
Remove unused variable
Fixes unused variable error introduced in r330194.
Modified:
cfe/trunk/lib/Driver/ToolChains/Clang.cpp
Modified: cfe/trunk/lib/Drive
Author: tejohnson
Date: Tue Apr 17 13:36:51 2018
New Revision: 330212
URL: http://llvm.org/viewvc/llvm-project?rev=330212&view=rev
Log:
Require shell for test
Attempt to fix windows bot which doesn't like the "(cd .." invocation
added in r330194:
http://lab.llvm.org:8011/builders/clang-with-thin-
Author: tejohnson
Date: Sat May 5 07:37:29 2018
New Revision: 331592
URL: http://llvm.org/viewvc/llvm-project?rev=331592&view=rev
Log:
[ThinLTO] Support opt remarks options with distributed ThinLTO backends
Summary:
Passes down the necessary code ge options to the LTO Config to enable
-fdiagnost
Author: tejohnson
Date: Sat May 5 08:15:04 2018
New Revision: 331593
URL: http://llvm.org/viewvc/llvm-project?rev=331593&view=rev
Log:
Add required target to address bot failures from r331592
Failing on non-x86 bots, needs x86 target for code gen.
Modified:
cfe/trunk/test/CodeGen/thinlto-di
Author: tejohnson
Date: Sat May 5 08:54:57 2018
New Revision: 331596
URL: http://llvm.org/viewvc/llvm-project?rev=331596&view=rev
Log:
Skip part of test added in r331592 to help debug bot failures
Trying to debug why/where a few bots getting exit code 256 e.g.
http://green.lab.llvm.org/green/job
Author: tejohnson
Date: Sat May 5 09:37:31 2018
New Revision: 331597
URL: http://llvm.org/viewvc/llvm-project?rev=331597&view=rev
Log:
Add -target to address errors in test from r331592
The error turns out to be:
Assertion failed: (Target.isCompatibleDataLayout(getDataLayout()) && "Can't
create
Author: tejohnson
Date: Tue Jun 26 08:50:34 2018
New Revision: 335618
URL: http://llvm.org/viewvc/llvm-project?rev=335618&view=rev
Log:
[ThinLTO] Add testing of summary index parsing to a couple CFI tests
Summary:
Changes to some clang side tests to go with the summary parsing patch.
Depends on
g/P8091 has the lit output and the actual output
> being produced by one of the added RUN lines. My llvm and clang
> repositories are in sync. Any idea what might be going on here?
>
>
>
> *From: *cfe-commits on behalf of
> Teresa Johnson via cfe-commits
> *Reply-To: *Teresa
nd the actual output being produced by one of the added
> RUN lines. My llvm and clang repositories are in sync. Any idea what might
> be going on here?
>
>
>
> *From: *cfe-commits on behalf of
> Teresa Johnson via cfe-commits
> *Reply-To: *Teresa Johnson
> *Date: *Tuesda
Author: tejohnson
Date: Fri Jul 13 14:35:58 2018
New Revision: 337051
URL: http://llvm.org/viewvc/llvm-project?rev=337051&view=rev
Log:
[ThinLTO] Ensure we always select the same function copy to import
Clang change to reflect the FunctionsToImportTy type change
in the llvm changes for D48670.
M
Author: tejohnson
Date: Fri Jul 13 18:50:14 2018
New Revision: 337082
URL: http://llvm.org/viewvc/llvm-project?rev=337082&view=rev
Log:
Revert "[ThinLTO] Ensure we always select the same function copy to import"
This reverts commit r337051.
Modified:
cfe/trunk/lib/CodeGen/BackendUtil.cpp
Mo
Author: tejohnson
Date: Mon Jul 16 08:30:36 2018
New Revision: 337185
URL: http://llvm.org/viewvc/llvm-project?rev=337185&view=rev
Log:
Restore "[ThinLTO] Ensure we always select the same function copy to import"
This reverts commit r337082, restoring r337051, since the LLVM side
patch has been r
Author: Teresa Johnson
Date: 2020-04-14T18:09:10-07:00
New Revision: 33ffb62e23e7a7bece5618d5a7b54bdb401d0bcf
URL:
https://github.com/llvm/llvm-project/commit/33ffb62e23e7a7bece5618d5a7b54bdb401d0bcf
DIFF:
https://github.com/llvm/llvm-project/commit/33ffb62e23e7a7bece5618d5a7b54bdb401d0bcf.diff
tejohnson created this revision.
tejohnson added a reviewer: mehdi_amini.
tejohnson added a subscriber: cfe-commits.
Herald added a subscriber: mehdi_amini.
Add some user facing documentation on ThinLTO and how to use it.
https://reviews.llvm.org/D24806
Files:
docs/CommandGuide/clang.rst
doc
tejohnson updated this revision to Diff 72078.
tejohnson added a comment.
Add some troubleshooting info for gold plugin misconfigurations
https://reviews.llvm.org/D24806
Files:
docs/CommandGuide/clang.rst
docs/ThinLTO.rst
docs/index.rst
Index: docs/index.rst
=
tejohnson updated this revision to Diff 72081.
tejohnson added a comment.
Replace 'regular LTO' with 'monolithic LTO' to be more descriptive.
https://reviews.llvm.org/D24806
Files:
docs/CommandGuide/clang.rst
docs/ThinLTO.rst
docs/index.rst
Index: docs/index.rst
=
Author: tejohnson
Date: Wed Sep 21 11:57:03 2016
New Revision: 282089
URL: http://llvm.org/viewvc/llvm-project?rev=282089&view=rev
Log:
[docs] Add ThinLTO user documentation
Summary: Add some user facing documentation on ThinLTO and how to use it.
Reviewers: mehdi_amini
Subscribers: mehdi_amini
This revision was automatically updated to reflect the committed changes.
Closed by commit rL282089: [docs] Add ThinLTO user documentation (authored by
tejohnson).
Changed prior to commit:
https://reviews.llvm.org/D24806?vs=72081&id=72082#toc
Repository:
rL LLVM
https://reviews.llvm.org/D24
Anyone know how to get these changes on http://clang.llvm.org/docs/? Is
that site periodically refreshed or do I need to do something explicit?
Thanks,
Teresa
On Wed, Sep 21, 2016 at 9:57 AM, Teresa Johnson via cfe-commits <
cfe-commits@lists.llvm.org> wrote:
> Author: tejohnson
> D
Thank you!
Teresa
On Thu, Sep 22, 2016 at 5:15 AM, Aaron Ballman via cfe-commits <
cfe-commits@lists.llvm.org> wrote:
> Author: aaronballman
> Date: Thu Sep 22 07:15:18 2016
> New Revision: 282148
>
> URL: http://llvm.org/viewvc/llvm-project?rev=282148&view=rev
> Log:
> Fixing sphinx build due to
Hi Aaron,
I just went back to the bot, which had first failed with a process error
when I made my commit which is why I didn't see this error. It looks like
it is still failing with the same error:
http://lab.llvm.org:8011/builders/clang-sphinx-docs/builds/16313/steps/docs-clang-html/logs/stdio
(
On Thu, Sep 22, 2016 at 6:38 AM, Aaron Ballman
wrote:
> On Thu, Sep 22, 2016 at 9:34 AM, Teresa Johnson
> wrote:
> > Hi Aaron,
> >
> > I just went back to the bot, which had first failed with a process error
> > when I made my commit which is why I didn't see this error. It looks
> like it
> > i
Author: tejohnson
Date: Thu Sep 22 08:41:10 2016
New Revision: 282151
URL: http://llvm.org/viewvc/llvm-project?rev=282151&view=rev
Log:
Second attempt to fix Sphinx bot
The fix in r282148 was not enough to fix the following error:
/home/llvmbb/llvm-build-dir/clang-sphinx-docs/llvm/src/tools/clang
On Thu, Sep 22, 2016 at 6:43 AM, Aaron Ballman
wrote:
> On Thu, Sep 22, 2016 at 9:41 AM, Teresa Johnson
> wrote:
> >
> >
> >
> > On Thu, Sep 22, 2016 at 6:38 AM, Aaron Ballman
> wrote:
> >>
> >> On Thu, Sep 22, 2016 at 9:34 AM, Teresa Johnson
> wrote:
> >> > Hi Aaron,
> >> >
> >> > I just went
tejohnson created this revision.
tejohnson added a reviewer: mehdi_amini.
tejohnson added a subscriber: cfe-commits.
Herald added a subscriber: mehdi_amini.
Currently, a linker option must be used to control the backend
parallelism of ThinLTO or full LTO (where it only applies to
parallel code gen
Author: tejohnson
Date: Thu Sep 22 08:58:33 2016
New Revision: 282154
URL: http://llvm.org/viewvc/llvm-project?rev=282154&view=rev
Log:
Third attempt to fix Sphinx bot
Bot now complaining about -flto=thin reference, used similar workaround
for that failure.
Modified:
cfe/trunk/docs/CommandGu
tejohnson added a comment.
In https://reviews.llvm.org/D24826#549788, @mehdi_amini wrote:
> The Gold path looks fine.
> On OSX, we would have the clang driver relying on a LLVM cl::opt, for which
> I don't think there is any precedent. CC Duncan for advice.
I do see other uses of -mllvm in l
tejohnson updated this revision to Diff 72301.
tejohnson added a comment.
Update option description as per decision to split from parallel code gen.
https://reviews.llvm.org/D24826
Files:
include/clang/Driver/Options.td
lib/Driver/Tools.cpp
test/Driver/lto-jobs.c
Index: test/Driver/lto-j
tejohnson added a comment.
> > I do see other uses of -mllvm in lib/Driver/Tools.cpp, but are you talking
> > about something else?
>
> I think this is okay, since clang is talking to the same version of
> libLTO.dylib. I feel like there might be another case where
> clang talks to libLTO
tejohnson updated this revision to Diff 72317.
tejohnson added a comment.
Update option help message per Mehdi's suggestion
https://reviews.llvm.org/D24826
Files:
include/clang/Driver/Options.td
lib/Driver/Tools.cpp
test/Driver/lto-jobs.c
Index: test/Driver/lto-jobs.c
===
This revision was automatically updated to reflect the committed changes.
Closed by commit rL282291: [LTO] Add -flto-jobs=N to control backend
parallelism (authored by tejohnson).
Changed prior to commit:
https://reviews.llvm.org/D24826?vs=72317&id=72349#toc
Repository:
rL LLVM
https://revi
Author: tejohnson
Date: Fri Sep 23 15:38:09 2016
New Revision: 282291
URL: http://llvm.org/viewvc/llvm-project?rev=282291&view=rev
Log:
[LTO] Add -flto-jobs=N to control backend parallelism
Summary:
Currently, a linker option must be used to control the backend
parallelism of ThinLTO. The linker
Author: tejohnson
Date: Fri Sep 23 17:25:03 2016
New Revision: 282308
URL: http://llvm.org/viewvc/llvm-project?rev=282308&view=rev
Log:
Use llvm::to_string instead of std::to_string to fix bot
This should fix the android build in this bot:
http://lab.llvm.org:8011/builders/lldb-x86_64-ubuntu-14.0
On Fri, Sep 23, 2016, 4:38 PM Andrew Ford wrote:
> andrewford added a subscriber: andrewford.
> andrewford added a comment.
>
> This is breaking our android lldb build, because it uses std::to_string.
> Looks like there is llvm::to_string, which should be preferred. Would
> someone mind changing
tejohnson added a comment.
In https://reviews.llvm.org/D24644#557774, @pcc wrote:
> Perhaps it would be better to enable -ffunction-sections/-fdata-sections
> unconditionally at the linker level if the linker supports it? See also
> PR22999.
My understanding is that these are not typically th
tejohnson added a comment.
Ping. It seems like using attributes is not feasible at this time due to the
lack of data attributes.
https://reviews.llvm.org/D24644
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
http://lists.llvm.org/cgi-bin/m
tejohnson accepted this revision.
tejohnson added a comment.
This revision is now accepted and ready to land.
LGTM, thanks!
https://reviews.llvm.org/D25537
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
http://lists.llvm.org/cgi-bin/mailman
Author: tejohnson
Date: Thu Oct 13 13:05:53 2016
New Revision: 284140
URL: http://llvm.org/viewvc/llvm-project?rev=284140&view=rev
Log:
Pass -ffunction-sections/-fdata-sections along to gold-plugin
Summary:
These options need to be passed to the plugin in order to have
an effect on LTO/ThinLTO co
This revision was automatically updated to reflect the committed changes.
Closed by commit rL284140: Pass -ffunction-sections/-fdata-sections along to
gold-plugin (authored by tejohnson).
Changed prior to commit:
https://reviews.llvm.org/D24644?vs=71591&id=74555#toc
Repository:
rL LLVM
http
On Mon, Oct 17, 2016 at 5:13 AM, Rafael EspĂndola <
rafael.espind...@gmail.com> wrote:
> On 16 October 2016 at 22:13, Davide Italiano wrote:
> > On Sun, Oct 16, 2016 at 6:43 PM, Sean Silva
> wrote:
> >> Nice to see this land!
> >>
> >> One nit:
> >> Currently, doesn't LLD/ELF ignore -plugin-opt?
On Mon, Oct 17, 2016 at 6:15 AM, Teresa Johnson
wrote:
>
>
> On Mon, Oct 17, 2016 at 5:13 AM, Rafael EspĂndola <
> rafael.espind...@gmail.com> wrote:
>
>> On 16 October 2016 at 22:13, Davide Italiano wrote:
>> > On Sun, Oct 16, 2016 at 6:43 PM, Sean Silva
>> wrote:
>> >> Nice to see this land!
https://github.com/teresajohnson edited
https://github.com/llvm/llvm-project/pull/69735
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/teresajohnson commented:
Thanks for the patch! I didn't go through in too much detail yet, but have some
mostly higher level comments and suggestions.
https://github.com/llvm/llvm-project/pull/69735
___
cfe-commits mailing list
cfe-
@@ -1362,6 +1362,8 @@ class ModuleSummaryIndex {
// Temporary map while building StackIds list. Clear when index is completely
// built via releaseTemporaryMemory.
std::map StackIdToIndex;
+ std::set FuncsWithNonVtableRef;
+ std::set VFuncsToBeRemoved; // no need to ser
@@ -34,12 +40,223 @@ static cl::opt
ClEnableVFE("enable-vfe", cl::Hidden, cl::init(true),
cl::desc("Enable virtual function elimination"));
+static cl::opt ClReadSummary(
+"globaldce-read-summary",
+cl::desc("Read summary from given bitcode before r
@@ -34,12 +40,223 @@ static cl::opt
ClEnableVFE("enable-vfe", cl::Hidden, cl::init(true),
cl::desc("Enable virtual function elimination"));
+static cl::opt ClReadSummary(
+"globaldce-read-summary",
+cl::desc("Read summary from given bitcode before r
@@ -775,6 +783,58 @@ static void computeVariableSummary(ModuleSummaryIndex
&Index,
Index.addGlobalValueSummary(V, std::move(GVarSummary));
}
+static void ComputeDependencies(
teresajohnson wrote:
nit: function should be lowerCamelCase
https://github.com/l
@@ -34,12 +40,223 @@ static cl::opt
ClEnableVFE("enable-vfe", cl::Hidden, cl::init(true),
cl::desc("Enable virtual function elimination"));
+static cl::opt ClReadSummary(
+"globaldce-read-summary",
+cl::desc("Read summary from given bitcode before r
@@ -34,12 +40,223 @@ static cl::opt
ClEnableVFE("enable-vfe", cl::Hidden, cl::init(true),
cl::desc("Enable virtual function elimination"));
+static cl::opt ClReadSummary(
+"globaldce-read-summary",
+cl::desc("Read summary from given bitcode before r
@@ -1362,6 +1362,8 @@ class ModuleSummaryIndex {
// Temporary map while building StackIds list. Clear when index is completely
// built via releaseTemporaryMemory.
std::map StackIdToIndex;
+ std::set FuncsWithNonVtableRef;
teresajohnson wrote:
Instead o
@@ -34,12 +40,223 @@ static cl::opt
ClEnableVFE("enable-vfe", cl::Hidden, cl::init(true),
cl::desc("Enable virtual function elimination"));
+static cl::opt ClReadSummary(
+"globaldce-read-summary",
+cl::desc("Read summary from given bitcode before r
@@ -338,12 +574,33 @@ PreservedAnalyses GlobalDCEPass::run(Module &M,
ModuleAnalysisManager &MAM) {
// The second pass drops the bodies of functions which are dead...
std::vector DeadFunctions;
- for (Function &F : M)
+ std::set DeadFunctionsSet;
+ auto funcRemovedInIn
@@ -300,12 +316,8 @@ getIRPGONameForGlobalObject(const GlobalObject &GO,
GlobalValue::LinkageTypes Linkage,
StringRef FileName) {
SmallString<64> Name;
- if (llvm::GlobalValue::isLocalLinkage(Linkage)) {
-Name.appen
teresajohnson wrote:
> Using the same added ICP test, profile matching on local-linkage
> `_ZL7callee0v` using `clang++ -v -fuse-ld=lld -O2
> -fprofile-use=thinlto_icall_prom.profdata ` , as
> [this](https://gist.github.com/minglotus-6/11817ba645c6b12cd7116f41bfb1185e)
> pgo-instr-use output
teresajohnson wrote:
> David says the itanium remapper file was only used once during gcc to llvm
> transition, so not relevant here.
I believe it was actually for the libstdc++ to libc++ transition (see
https://reviews.llvm.org/D51247 and https://reviews.llvm.org/D51240).
If it is broken we'
@@ -1,39 +1,45 @@
-; Do setup work for all below tests: generate bitcode and combined index
-; RUN: opt -module-summary %s -o %t.bc
-; RUN: opt -module-summary %p/Inputs/thinlto_indirect_call_promotion.ll -o
%t2.bc
+; The raw profiles and reduced IR inputs are generated from
Inp
@@ -1,39 +1,45 @@
-; Do setup work for all below tests: generate bitcode and combined index
-; RUN: opt -module-summary %s -o %t.bc
-; RUN: opt -module-summary %p/Inputs/thinlto_indirect_call_promotion.ll -o
%t2.bc
+; The raw profiles and reduced IR inputs are generated from
Inp
teresajohnson wrote:
Added a comment to that issue, I think it would be good to understand why
unified LTO is not expected in that case (for the assertion).
https://github.com/llvm/llvm-project/pull/75079
___
cfe-commits mailing list
cfe-commits@lists
@@ -1,39 +0,0 @@
-; Do setup work for all below tests: generate bitcode and combined index
teresajohnson wrote:
Without use of the raw profile, this test would not have caught the regression.
If we think the new compiler-rt test is enough to catch this case in t
@@ -0,0 +1,115 @@
+// This is a regression test for ThinLTO indirect-call-promotion when candidate
+// callees need to be imported from another IR module. In the C++ test case,
+// `main` calls `global_func` which is defined in another module. `global_func`
+// has two indirect c
@@ -352,6 +366,8 @@ std::string getIRPGOFuncName(const Function &F, bool InLTO)
{
return getIRPGOObjectName(F, InLTO, getPGOFuncNameMetadata(F));
}
+// DEPRECATED. Use `getIRPGOFuncName`for new code. See that function for
teresajohnson wrote:
In the header
https://github.com/teresajohnson approved this pull request.
LGTM other than a couple of minor comments and pending resolution of the LLVM
IR test. Thanks!
https://github.com/llvm/llvm-project/pull/74008
___
cfe-commits mailing list
cfe-commits@lists.
@@ -0,0 +1,145 @@
+// Test that type metadata are emitted with -fprofile-generate
+//
+// RUN: %clang -fprofile-generate -fno-lto -target x86_64-unknown-linux
-emit-llvm -S %s -o - | FileCheck %s --check-prefix=ITANIUM
+// RUN: %clang -fprofile-generate -fno-lto -target x86_64-pc
@@ -1,98 +1,116 @@
+
// Tests for the cfi-vcall feature:
-// RUN: %clang_cc1 -flto -flto-unit -triple x86_64-unknown-linux
-fvisibility=hidden -fsanitize=cfi-vcall -fsanitize-trap=cfi-vcall -emit-llvm
-o - %s | FileCheck --check-prefix=CFI --check-prefix=CFI-NVT-NO-RV
--check-
@@ -1312,7 +1312,7 @@ llvm::GlobalObject::VCallVisibility
CodeGenModule::GetVCallVisibilityLevel(
void CodeGenModule::EmitVTableTypeMetadata(const CXXRecordDecl *RD,
llvm::GlobalVariable *VTable,
@@ -1,98 +1,116 @@
+
// Tests for the cfi-vcall feature:
-// RUN: %clang_cc1 -flto -flto-unit -triple x86_64-unknown-linux
-fvisibility=hidden -fsanitize=cfi-vcall -fsanitize-trap=cfi-vcall -emit-llvm
-o - %s | FileCheck --check-prefix=CFI --check-prefix=CFI-NVT-NO-RV
--check-
@@ -101,14 +119,16 @@
// ITANIUM-OPT-SAME: !type [[EF16:![0-9]+]]
// ITANIUM-OPT: @llvm.compiler.used = appending global [1 x ptr] [ptr
@_ZTVN5test31EE]
-// MS: comdat($"??_7A@@6B@"), !type [[A8:![0-9]+]]
-// MS: comdat($"??_7B@@6B0@@"), !type [[B8:![0-9]+]]
-// MS: comdat($"
https://github.com/teresajohnson approved this pull request.
Somehow I missed those other uses of the ITANIUM prefix. Thanks for cleaning it
up though I think the new names are more descriptive.
https://github.com/llvm/llvm-project/pull/70841
___
cfe-
@@ -892,6 +892,10 @@ void CodeGenFunction::StartFunction(GlobalDecl GD,
QualType RetTy,
}
}
+ if (FD->hasAttr()) {
teresajohnson wrote:
Is this change needed given the separate change in LLVM skipPGOGen?
https://github.com/llvm/llvm-project/pull/7522
https://github.com/teresajohnson approved this pull request.
https://github.com/llvm/llvm-project/pull/75224
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/teresajohnson approved this pull request.
https://github.com/llvm/llvm-project/pull/75726
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
@@ -256,10 +256,13 @@ void LLVMContext::diagnose(const DiagnosticInfo &DI) {
RS->emit(*OptDiagBase);
// If there is a report handler, use it.
- if (pImpl->DiagHandler &&
- (!pImpl->RespectDiagnosticFilters || isDiagnosticEnabled(DI)) &&
- pImpl->DiagHandler-
@@ -256,10 +256,13 @@ void LLVMContext::diagnose(const DiagnosticInfo &DI) {
RS->emit(*OptDiagBase);
// If there is a report handler, use it.
- if (pImpl->DiagHandler &&
- (!pImpl->RespectDiagnosticFilters || isDiagnosticEnabled(DI)) &&
- pImpl->DiagHandler-
https://github.com/teresajohnson approved this pull request.
lgtm
https://github.com/llvm/llvm-project/pull/75889
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
teresajohnson wrote:
@snehasish can you take a look at the issue described here? Should we be doing
something different in llvm-profdata?
https://github.com/llvm/llvm-project/pull/73236
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://l
@@ -810,7 +810,7 @@ void EmitAssemblyHelper::RunOptimizationPipeline(
// Only enable CGProfilePass when using integrated assembler, since
// non-integrated assemblers don't recognize .cgprofile section.
PTO.CallGraphProfile = !CodeGenOpts.DisableIntegratedAS;
- PTO.Unifi
@@ -810,7 +810,7 @@ void EmitAssemblyHelper::RunOptimizationPipeline(
// Only enable CGProfilePass when using integrated assembler, since
// non-integrated assemblers don't recognize .cgprofile section.
PTO.CallGraphProfile = !CodeGenOpts.DisableIntegratedAS;
- PTO.Unifi
@@ -810,7 +810,7 @@ void EmitAssemblyHelper::RunOptimizationPipeline(
// Only enable CGProfilePass when using integrated assembler, since
// non-integrated assemblers don't recognize .cgprofile section.
PTO.CallGraphProfile = !CodeGenOpts.DisableIntegratedAS;
- PTO.Unifi
@@ -810,7 +810,7 @@ void EmitAssemblyHelper::RunOptimizationPipeline(
// Only enable CGProfilePass when using integrated assembler, since
// non-integrated assemblers don't recognize .cgprofile section.
PTO.CallGraphProfile = !CodeGenOpts.DisableIntegratedAS;
- PTO.Unifi
teresajohnson wrote:
> @lifengxiang1025 thanks for flagging this issue. I think it's best to not
> rely on unique-internal-linkage-name here. Instead we should extend the logic
> in RawMemProfReader.cpp to include "filename;" if the function is internal
> linkage as expected by IRPGOFuncName.
@@ -1861,6 +1861,13 @@ bool CompilerInvocation::ParseCodeGenArgs(CodeGenOptions
&Opts, ArgList &Args,
if (Args.hasArg(OPT_funified_lto))
Opts.PrepareForThinLTO = true;
}
+ if (Arg *A = Args.getLastArg(options::OPT_ffat_lto_objects,
+
https://github.com/teresajohnson approved this pull request.
lgtm
https://github.com/llvm/llvm-project/pull/72180
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
@@ -1530,14 +1530,11 @@
PassBuilder::buildPerModuleDefaultPipeline(OptimizationLevel Level,
}
ModulePassManager
-PassBuilder::buildFatLTODefaultPipeline(OptimizationLevel Level, bool ThinLTO,
-bool EmitSummary) {
+PassBuilder::buildFatL
teresajohnson wrote:
> > Yes, you're right. As an alternative can we use the symbol table and find
> > Bind = LOCAL to add the prefix before hashing?
>
> If we choose this method. I think we can't deal with the situation which one
> symbol is not local linkage type in thin compile, but will be
teresajohnson wrote:
@snehasish and I chatted more about this offline. Using the dwarf info to
figure out the right source name prefix during indexing is not straightforward.
The source file name used as the prefix in the compiler for the IRPGOName is
that of the TU. The source file of the lin
@@ -300,12 +316,8 @@ getIRPGONameForGlobalObject(const GlobalObject &GO,
GlobalValue::LinkageTypes Linkage,
StringRef FileName) {
SmallString<64> Name;
- if (llvm::GlobalValue::isLocalLinkage(Linkage)) {
-Name.appen
1 - 100 of 349 matches
Mail list logo