tejohnson (Teresa Johnson)
User

Projects

User does not belong to any projects.

User Details

User Since
Apr 27 2015, 11:17 AM (172 w, 6 d)

Recent Activity

Fri, Aug 17

tejohnson committed rL340047: [ThinLTO] Add option for printing import failure reasons.
[ThinLTO] Add option for printing import failure reasons
Fri, Aug 17, 9:54 AM
tejohnson closed D50881: [ThinLTO] Add option for printing import failure reasons.
Fri, Aug 17, 9:54 AM
tejohnson added a comment to D50435: [Inliner] Attribute callsites with inline remarks.

A few comments/questions.

Fri, Aug 17, 9:22 AM
tejohnson updated the diff for D50881: [ThinLTO] Add option for printing import failure reasons.

Address comments

Fri, Aug 17, 9:08 AM
tejohnson added inline comments to D50881: [ThinLTO] Add option for printing import failure reasons.
Fri, Aug 17, 9:07 AM
tejohnson committed rL340021: [ThinLTO] Correct documentation on default number of threads.
[ThinLTO] Correct documentation on default number of threads
Fri, Aug 17, 6:20 AM
tejohnson committed rC340021: [ThinLTO] Correct documentation on default number of threads.
[ThinLTO] Correct documentation on default number of threads
Fri, Aug 17, 6:20 AM
tejohnson closed D50882: [ThinLTO] Correct documentation on default number of threads.
Fri, Aug 17, 6:20 AM

Thu, Aug 16

tejohnson created D50882: [ThinLTO] Correct documentation on default number of threads.
Thu, Aug 16, 8:58 PM
tejohnson updated the diff for D50881: [ThinLTO] Add option for printing import failure reasons.

Remove extraneous commented line.

Thu, Aug 16, 7:46 PM
tejohnson created D50881: [ThinLTO] Add option for printing import failure reasons.
Thu, Aug 16, 7:41 PM

Tue, Aug 14

tejohnson added a comment to D50066: [IRMover] Don't materialise values from different source module.

That new DITemplateValueParameter type doesn't look correct to me.

I'm getting !DITemplateValueParameter(value: null) when module is passed to optimizer. This isn't correct either, but module is no longer broken.

Tue, Aug 14, 7:55 AM
tejohnson added a reviewer for D50066: [IRMover] Don't materialise values from different source module: dblaikie.
Tue, Aug 14, 7:51 AM

Mon, Aug 13

tejohnson committed rL339640: [ThinLTO] Fix printing of WPD remarks.
[ThinLTO] Fix printing of WPD remarks
Mon, Aug 13, 8:01 PM
tejohnson closed D49959: [ThinLTO] Fix printing of WPD remarks.
Mon, Aug 13, 8:01 PM
tejohnson committed rL339637: [ThinLTO] Handle optional args in assembly format for ConstVCalls.
[ThinLTO] Handle optional args in assembly format for ConstVCalls
Mon, Aug 13, 6:50 PM
tejohnson closed D49960: [ThinLTO] Handle optional args in assembly format for ConstVCalls.
Mon, Aug 13, 6:50 PM
tejohnson added a comment to D49959: [ThinLTO] Fix printing of WPD remarks.

ping

Mon, Aug 13, 7:03 AM
tejohnson added a comment to D49960: [ThinLTO] Handle optional args in assembly format for ConstVCalls.

ping

Mon, Aug 13, 7:02 AM
tejohnson requested changes to D50066: [IRMover] Don't materialise values from different source module.

That new DITemplateValueParameter type doesn't look correct to me.

Mon, Aug 13, 6:37 AM

Fri, Aug 10

tejohnson accepted D50583: [gold] Fix Tests cases on i686.

LGTM

Fri, Aug 10, 3:31 PM
tejohnson added a comment to D50416: [cmake] Prevent LLVMgold.so from being unloaded on Linux.

No objections from the gold plugin side, but like Hans I don't feel I know much about all the implications. Perhaps wait for the answer on the binutils thread first, but if they can't remove the dlclose there then this seems ok to me.

Fri, Aug 10, 11:37 AM
tejohnson added inline comments to D50016: IR: Add entry/exit instrumentation symbols to the libcall list..
Fri, Aug 10, 10:00 AM
tejohnson added inline comments to D50016: IR: Add entry/exit instrumentation symbols to the libcall list..
Fri, Aug 10, 9:04 AM
tejohnson accepted D50066: [IRMover] Don't materialise values from different source module.

Sorry for the late reply - I am just today back from vacation and catching up. This LGTM, but as Steven noted, please add a description to the commit message.

Fri, Aug 10, 8:06 AM

Sun, Jul 29

tejohnson accepted D49412: Enrich inline messages.

LGTM

Sun, Jul 29, 8:46 AM

Sat, Jul 28

tejohnson created D49960: [ThinLTO] Handle optional args in assembly format for ConstVCalls.
Sat, Jul 28, 8:31 AM
tejohnson created D49959: [ThinLTO] Fix printing of WPD remarks.
Sat, Jul 28, 8:30 AM

Thu, Jul 26

tejohnson added a comment to D49777: [LTO] Don't internalize declarations.

LGTM with one minor comment nit below. See if pcc has any more comments though.

Thu, Jul 26, 7:06 PM

Wed, Jul 25

tejohnson added inline comments to D49412: Enrich inline messages.
Wed, Jul 25, 7:35 AM
tejohnson added a comment to D49777: [LTO] Don't internalize declarations.

Code change looks fine, but please reduce the test case. - there's a lot of stuff there that likely isn't needed to reproduce.

Wed, Jul 25, 6:53 AM

Mon, Jul 23

tejohnson committed rL337762: [LTO] Handle __imp_ (dllimport) symbols consistently with lld.
[LTO] Handle __imp_ (dllimport) symbols consistently with lld
Mon, Jul 23, 3:36 PM
tejohnson closed D49138: [LTO] Handle __imp_ (dllimport) symbols consistently with lld.
Mon, Jul 23, 3:36 PM
tejohnson updated the diff for D49138: [LTO] Handle __imp_ (dllimport) symbols consistently with lld.

Address comment

Mon, Jul 23, 3:36 PM
tejohnson committed rL337750: [ThinLTO] Ensure the TargetLibraryInfo is constructed early enough.
[ThinLTO] Ensure the TargetLibraryInfo is constructed early enough
Mon, Jul 23, 2:58 PM
tejohnson closed D49278: [ThinLTO] Ensure the TargetLibraryInfo is constructed early enough.
Mon, Jul 23, 2:58 PM
tejohnson added a comment to D49278: [ThinLTO] Ensure the TargetLibraryInfo is constructed early enough.

ping

Mon, Jul 23, 8:56 AM
tejohnson added a comment to D49138: [LTO] Handle __imp_ (dllimport) symbols consistently with lld.

ping

Mon, Jul 23, 8:55 AM

Jul 20 2018

tejohnson added inline comments to D49434: Put "built-in" function definitions in global Used list, for LTO. (fix bug 34169).
Jul 20 2018, 10:31 AM

Jul 19 2018

tejohnson committed rL337503: [ThinLTO] Only emit referenced type id records in index files.
[ThinLTO] Only emit referenced type id records in index files
Jul 19 2018, 3:31 PM
tejohnson closed D49565: [ThinLTO] Only emit referenced type id records in index files.
Jul 19 2018, 3:31 PM
tejohnson updated the diff for D49565: [ThinLTO] Only emit referenced type id records in index files.

Fix test comments

Jul 19 2018, 3:30 PM
tejohnson added inline comments to D49565: [ThinLTO] Only emit referenced type id records in index files.
Jul 19 2018, 3:29 PM
tejohnson added a comment to D49434: Put "built-in" function definitions in global Used list, for LTO. (fix bug 34169).

The old LTO implementation still internalizes the function definitions, but they do not get Dead Code Eliminated.

Jul 19 2018, 3:28 PM
tejohnson created D49565: [ThinLTO] Only emit referenced type id records in index files.
Jul 19 2018, 1:51 PM
tejohnson committed rL337493: [profile] Fix typo in test.
[profile] Fix typo in test
Jul 19 2018, 1:23 PM
tejohnson committed rCRT337493: [profile] Fix typo in test.
[profile] Fix typo in test
Jul 19 2018, 1:23 PM
tejohnson committed rCRT337482: [profile] Add interface to get profile filename.
[profile] Add interface to get profile filename
Jul 19 2018, 12:09 PM
tejohnson committed rL337482: [profile] Add interface to get profile filename.
[profile] Add interface to get profile filename
Jul 19 2018, 12:09 PM
tejohnson closed D49529: [profile] Add interface to get profile filename.
Jul 19 2018, 12:08 PM
tejohnson updated the diff for D49529: [profile] Add interface to get profile filename.

Address comment

Jul 19 2018, 10:27 AM
tejohnson updated the diff for D49529: [profile] Add interface to get profile filename.

Address comment

Jul 19 2018, 10:09 AM
tejohnson committed rL337467: [compiler-rt] Only set lto_flags if lto_supported.
[compiler-rt] Only set lto_flags if lto_supported
Jul 19 2018, 9:17 AM
tejohnson committed rCRT337467: [compiler-rt] Only set lto_flags if lto_supported.
[compiler-rt] Only set lto_flags if lto_supported
Jul 19 2018, 9:17 AM
tejohnson committed rCRT337465: [compiler-rt] Add NewPM testing to CFI tests.
[compiler-rt] Add NewPM testing to CFI tests
Jul 19 2018, 8:39 AM
tejohnson committed rL337465: [compiler-rt] Add NewPM testing to CFI tests.
[compiler-rt] Add NewPM testing to CFI tests
Jul 19 2018, 8:39 AM
tejohnson closed D49432: [compiler-rt] Add NewPM testing to CFI tests.
Jul 19 2018, 8:39 AM
tejohnson committed rL337461: [ThinLTO] Enable ThinLTO WholeProgramDevirt and LowerTypeTests in new PM.
[ThinLTO] Enable ThinLTO WholeProgramDevirt and LowerTypeTests in new PM
Jul 19 2018, 7:56 AM
tejohnson closed D49429: [ThinLTO] Enable ThinLTO WholeProgramDevirt and LowerTypeTests in new PM.
Jul 19 2018, 7:56 AM
tejohnson updated the diff for D49429: [ThinLTO] Enable ThinLTO WholeProgramDevirt and LowerTypeTests in new PM.

Address comment

Jul 19 2018, 7:56 AM
tejohnson added inline comments to D49529: [profile] Add interface to get profile filename.
Jul 19 2018, 7:24 AM

Jul 18 2018

tejohnson created D49529: [profile] Add interface to get profile filename.
Jul 18 2018, 8:09 PM
tejohnson committed rL337404: [docs] Update GoldPlugin documentation.
[docs] Update GoldPlugin documentation
Jul 18 2018, 10:15 AM
tejohnson closed D49490: [docs] Update GoldPlugin documentation.
Jul 18 2018, 10:15 AM
tejohnson created D49490: [docs] Update GoldPlugin documentation.
Jul 18 2018, 8:26 AM

Jul 17 2018

tejohnson added a comment to D49434: Put "built-in" function definitions in global Used list, for LTO. (fix bug 34169).
In D49434#1165612, @pcc wrote:

You wouldn't be making changes to the IR, only the summary. I was thinking that you might add code to http://llvm-cs.pcc.me.uk/lib/Analysis/ModuleSummaryAnalysis.cpp#534 that would effectively do:

if (ValueInfo VI = Index.getValueInfo(GlobalValue::getGUID("memcpy")))
    for (auto &Summary : VI.getSummaryList())
      Summary->setLive(true);
if (ValueInfo VI = Index.getValueInfo(GlobalValue::getGUID("memmove")))
    for (auto &Summary : VI.getSummaryList())
      Summary->setLive(true);
// etc.
Jul 17 2018, 2:07 PM
tejohnson added a comment to D49362: [ThinLTO] Compute constant references.

My understanding of your patch is that there would be a 1-1 association between each bit in the RefAccessBits BitVector and ref edges on that same function

Correct. But we have RefEdgeList in a base class (GlobalValueSummary) and there could be references between 2 globals:

static int Foo;
static int *Bar = &Foo;

It doesn't make sense to have const attribute for such kind of references, because we need to know how Bar is accessed before we can say anything about Foo.
That's why I put access bit list to derived class (FunctionSummary).

Jul 17 2018, 11:42 AM
tejohnson added inline comments to D49434: Put "built-in" function definitions in global Used list, for LTO. (fix bug 34169).
Jul 17 2018, 10:38 AM
tejohnson created D49432: [compiler-rt] Add NewPM testing to CFI tests.
Jul 17 2018, 9:50 AM
tejohnson added a dependent revision for D49429: [ThinLTO] Enable ThinLTO WholeProgramDevirt and LowerTypeTests in new PM: D49432: [compiler-rt] Add NewPM testing to CFI tests.
Jul 17 2018, 9:50 AM
tejohnson created D49429: [ThinLTO] Enable ThinLTO WholeProgramDevirt and LowerTypeTests in new PM.
Jul 17 2018, 9:34 AM
tejohnson added a comment to D49412: Enrich inline messages.

This would be useful for my own analysis of missed inlines. A few nits.

Jul 17 2018, 8:11 AM
tejohnson added a reviewer for D49412: Enrich inline messages: eraman.
Jul 17 2018, 7:08 AM

Jul 16 2018

tejohnson added a comment to D49362: [ThinLTO] Compute constant references.

I think it would be cleaner/clearer to encode this info along with the Ref edges

This would be a bit of overhead for global to global refs, wouldn't it? We can't make any assumption about them until we traverse an entire index.

Jul 16 2018, 1:06 PM
tejohnson added a comment to D49362: [ThinLTO] Compute constant references.

When importing a variable definition when the ref has this bit set, it can be imported as a local copy, without promoting the name/linkage type. That will avoid the need to do any modification to the optimization passes. On the exporting side, we could do prevent the promotion if we knew that all modules importing a reference also imported the referenced variable definition. It does however look like we should be importing all non-interposable linkage constant variables that are referenced, which should be all we care about for this anyway.

What if the constant is really big? Looks like the importing decision has to be made by the thin linker directly. You can not import the "constant" global as something like "available_externally constant" because the original copy might not be visible from the original module (just like the example), unless you want to modify the original copy to be "external hidden".

Jul 16 2018, 10:05 AM
tejohnson added a comment to D49362: [ThinLTO] Compute constant references.

Awesome, thanks! This was future work that we didn't have the bandwidth to address. A few comments/suggestions:

Jul 16 2018, 9:13 AM
tejohnson committed rL337185: Restore "[ThinLTO] Ensure we always select the same function copy to import".
Restore "[ThinLTO] Ensure we always select the same function copy to import"
Jul 16 2018, 8:35 AM
tejohnson committed rC337185: Restore "[ThinLTO] Ensure we always select the same function copy to import".
Restore "[ThinLTO] Ensure we always select the same function copy to import"
Jul 16 2018, 8:35 AM
tejohnson committed rL337184: Restore "[ThinLTO] Ensure we always select the same function copy to import".
Restore "[ThinLTO] Ensure we always select the same function copy to import"
Jul 16 2018, 8:35 AM

Jul 13 2018

tejohnson committed rC337082: Revert "[ThinLTO] Ensure we always select the same function copy to import".
Revert "[ThinLTO] Ensure we always select the same function copy to import"
Jul 13 2018, 6:55 PM
tejohnson committed rL337082: Revert "[ThinLTO] Ensure we always select the same function copy to import".
Revert "[ThinLTO] Ensure we always select the same function copy to import"
Jul 13 2018, 6:55 PM
tejohnson committed rL337081: Revert "[ThinLTO] Ensure we always select the same function copy to import".
Revert "[ThinLTO] Ensure we always select the same function copy to import"
Jul 13 2018, 6:51 PM
tejohnson committed rL337080: Revert "[ThinLTO] Add debug output to test".
Revert "[ThinLTO] Add debug output to test"
Jul 13 2018, 6:39 PM
tejohnson committed rL337076: [ThinLTO] Add debug output to test.
[ThinLTO] Add debug output to test
Jul 13 2018, 5:14 PM
tejohnson committed rL337059: [ThinLTO] Require x86 target for new test.
[ThinLTO] Require x86 target for new test
Jul 13 2018, 3:41 PM
tejohnson committed rL337051: [ThinLTO] Ensure we always select the same function copy to import.
[ThinLTO] Ensure we always select the same function copy to import
Jul 13 2018, 2:41 PM
tejohnson committed rL337050: [ThinLTO] Ensure we always select the same function copy to import.
[ThinLTO] Ensure we always select the same function copy to import
Jul 13 2018, 2:41 PM
tejohnson closed D48670: [ThinLTO] Ensure we always select the same function copy to import.
Jul 13 2018, 2:41 PM
tejohnson committed rC337051: [ThinLTO] Ensure we always select the same function copy to import.
[ThinLTO] Ensure we always select the same function copy to import
Jul 13 2018, 2:41 PM
tejohnson updated the diff for D48670: [ThinLTO] Ensure we always select the same function copy to import.

Remove extraneous change to test that snuck in

Jul 13 2018, 12:58 PM
tejohnson updated the diff for D48670: [ThinLTO] Ensure we always select the same function copy to import.

Address comments: fix header and test comments.

Jul 13 2018, 12:48 PM
tejohnson added inline comments to D48670: [ThinLTO] Ensure we always select the same function copy to import.
Jul 13 2018, 12:47 PM

Jul 12 2018

tejohnson created D49278: [ThinLTO] Ensure the TargetLibraryInfo is constructed early enough.
Jul 12 2018, 6:36 PM
tejohnson added a comment to D48756: [gold-plugin] Disable section ordering for relocatable links.

I'd like Peter to comment on the code changes, but note that the two failures are gold issues that have been fixed in binutils (https://bugs.llvm.org/show_bug.cgi?id=36166).

Jul 12 2018, 12:24 PM

Jul 11 2018

tejohnson committed rL336841: Revert "[docs] As of binutils 2.21.51.0.2, ld.bfd supports plugins too….
Revert "[docs] As of binutils 2.21.51.0.2, ld.bfd supports plugins too…
Jul 11 2018, 1:13 PM

Jul 10 2018

tejohnson updated the summary of D48670: [ThinLTO] Ensure we always select the same function copy to import.
Jul 10 2018, 2:03 PM
tejohnson updated the diff for D48670: [ThinLTO] Ensure we always select the same function copy to import.

Rework based on discussion

Jul 10 2018, 2:02 PM
tejohnson committed rL336721: [ThinLTO] Use std::map to get determistic imports files.
[ThinLTO] Use std::map to get determistic imports files
Jul 10 2018, 1:11 PM
tejohnson closed D48783: [ThinLTO] Use std::map to get determistic imports files.
Jul 10 2018, 1:11 PM
tejohnson retitled D48783: [ThinLTO] Use std::map to get determistic imports files from [ThinLTO] Use std::map for import lists to get determistic imports files to [ThinLTO] Use std::map to get determistic imports files.
Jul 10 2018, 12:17 PM