Page MenuHomePhabricator

tejohnson (Teresa Johnson)
User

Projects

User does not belong to any projects.

User Details

User Since
Apr 27 2015, 11:17 AM (234 w, 8 h)

Recent Activity

Today

tejohnson added a comment to D69107: [ThinLTO] Don't internalize during promotion.

@tejohnson Teresa, are you ok with it?

Mon, Oct 21, 11:05 AM

Tue, Oct 15

tejohnson accepted D68782: [ThinLTO] Import virtual method with single implementation in hybrid mode.

lgtm

Tue, Oct 15, 8:19 AM · Restricted Project
tejohnson added inline comments to D68782: [ThinLTO] Import virtual method with single implementation in hybrid mode.
Tue, Oct 15, 6:36 AM · Restricted Project

Mon, Oct 14

tejohnson accepted D68924: CodeExtractor: NFC: Use Range based loop.

LGTM

Mon, Oct 14, 1:06 PM · Restricted Project
tejohnson committed rG8408d95e3199: [ThinLTO] Fix printing of NoInline function summary flag (authored by tejohnson).
[ThinLTO] Fix printing of NoInline function summary flag
Mon, Oct 14, 11:40 AM
tejohnson closed D68948: [ThinLTO] Fix printing of NoInline function summary flag.
Mon, Oct 14, 11:39 AM · Restricted Project
tejohnson committed rL374802: [ThinLTO] Fix printing of NoInline function summary flag.
[ThinLTO] Fix printing of NoInline function summary flag
Mon, Oct 14, 11:39 AM
tejohnson created D68948: [ThinLTO] Fix printing of NoInline function summary flag.
Mon, Oct 14, 9:20 AM · Restricted Project

Sat, Oct 12

tejohnson added inline comments to D68924: CodeExtractor: NFC: Use Range based loop.
Sat, Oct 12, 8:48 PM · Restricted Project

Thu, Oct 10

tejohnson added a comment to D67322: [LLD][ThinLTO] Handle GUID collision in import global processing.

Is this the only place where bad things can happen? May be simply raise an error in addGlobalValueSummary when new summary type is different from that of SummaryList[0]?

Thu, Oct 10, 12:37 PM · Restricted Project
tejohnson added a comment to D67322: [LLD][ThinLTO] Handle GUID collision in import global processing.

I wonder how such thing happened in the first place. Can linker produce working image even if we circumvent the crash?

Thu, Oct 10, 9:18 AM · Restricted Project
tejohnson added inline comments to D67322: [LLD][ThinLTO] Handle GUID collision in import global processing.
Thu, Oct 10, 8:52 AM · Restricted Project

Fri, Oct 4

tejohnson added inline comments to D68063: Propeller: LLVM support for basic block sections.
Fri, Oct 4, 11:38 AM · Restricted Project

Wed, Oct 2

tejohnson accepted D68318: Fix: Actually erase remove the elements from AssumeHandles.

LGTM

Wed, Oct 2, 9:47 AM · Restricted Project
tejohnson committed rG077cc3fcb01d: [ThinLTO/WPD] Ensure devirtualized targets use promoted symbol when necessary (authored by tejohnson).
[ThinLTO/WPD] Ensure devirtualized targets use promoted symbol when necessary
Wed, Oct 2, 9:36 AM
tejohnson committed rL373485: [ThinLTO/WPD] Ensure devirtualized targets use promoted symbol when necessary.
[ThinLTO/WPD] Ensure devirtualized targets use promoted symbol when necessary
Wed, Oct 2, 9:36 AM
tejohnson closed D68159: [ThinLTO/WPD] Ensure devirtualized targets use promoted symbol when necessary.
Wed, Oct 2, 9:36 AM · Restricted Project
tejohnson added a comment to D68318: Fix: Actually erase remove the elements from AssumeHandles.

Relevant test case: llvm/test/Transforms/HotColdSplit/assumption-cache-invalidation.ll is already in trunk.

Wed, Oct 2, 8:48 AM · Restricted Project
tejohnson accepted D68331: [CodeExtractor] NFC: Refactor sanity checks into isEligible.

LGTM with one suggestion

Wed, Oct 2, 6:40 AM · Restricted Project

Tue, Oct 1

tejohnson added inline comments to D68159: [ThinLTO/WPD] Ensure devirtualized targets use promoted symbol when necessary.
Tue, Oct 1, 4:14 PM · Restricted Project
tejohnson committed rGdca5b94e798c: [ThinLTO] Enable index-only WPD from clang (authored by tejohnson).
[ThinLTO] Enable index-only WPD from clang
Tue, Oct 1, 11:08 AM
tejohnson committed rL373370: [ThinLTO] Enable index-only WPD from clang.
[ThinLTO] Enable index-only WPD from clang
Tue, Oct 1, 11:08 AM
tejohnson closed D68029: [ThinLTO] Enable index-only WPD from clang.
Tue, Oct 1, 11:08 AM · Restricted Project, Restricted Project
tejohnson added a comment to D68029: [ThinLTO] Enable index-only WPD from clang.

Ping

Tue, Oct 1, 9:50 AM · Restricted Project, Restricted Project

Mon, Sep 30

tejohnson committed rG2024ea148cc0: Fix buildbot failure from r373217 (don't match metadata id exactly) (authored by tejohnson).
Fix buildbot failure from r373217 (don't match metadata id exactly)
Mon, Sep 30, 10:29 AM
tejohnson added a comment to D67592: [Clang] Use -main-file-name for source filename if not set.

This is failing on my mac like so:

Mon, Sep 30, 10:29 AM · Restricted Project, Restricted Project
tejohnson committed rL373237: Fix buildbot failure from r373217 (don't match metadata id exactly).
Fix buildbot failure from r373217 (don't match metadata id exactly)
Mon, Sep 30, 10:24 AM
tejohnson committed rG57dbfe194cb5: [Clang] Use -main-file-name for source filename if not set (authored by tejohnson).
[Clang] Use -main-file-name for source filename if not set
Mon, Sep 30, 8:05 AM
tejohnson committed rL373217: [Clang] Use -main-file-name for source filename if not set.
[Clang] Use -main-file-name for source filename if not set
Mon, Sep 30, 8:05 AM
tejohnson closed D67592: [Clang] Use -main-file-name for source filename if not set.
Mon, Sep 30, 8:05 AM · Restricted Project, Restricted Project
tejohnson added a comment to D67592: [Clang] Use -main-file-name for source filename if not set.

I don't have commit access so I'd need someone to push this, thanks.

Mon, Sep 30, 7:14 AM · Restricted Project, Restricted Project

Fri, Sep 27

tejohnson added inline comments to D59709: [ThinLTO] Auto-hide prevailing linkonce_odr only when all copies eligible.
Fri, Sep 27, 4:53 PM · Restricted Project
tejohnson accepted D67592: [Clang] Use -main-file-name for source filename if not set.

lgtm

Fri, Sep 27, 3:40 PM · Restricted Project, Restricted Project
tejohnson added a comment to D67592: [Clang] Use -main-file-name for source filename if not set.

Please upload patches with context (https://llvm.org/docs/Phabricator.html#requesting-a-review-via-the-web-interface)

Fri, Sep 27, 2:01 PM · Restricted Project, Restricted Project
tejohnson created D68159: [ThinLTO/WPD] Ensure devirtualized targets use promoted symbol when necessary.
Fri, Sep 27, 1:22 PM · Restricted Project
tejohnson added a comment to D67920: [PGO] Refactor Value Profiling into a plugin based oracle and create a well defined API for the plugins..

One more minor nit about naming conventions. Otherwise it looks ok to me, but wait for David to sign off.

Fri, Sep 27, 12:09 PM · Restricted Project
tejohnson added a comment to D68028: [clang] Add no_builtin attribute.

@tejohnson I believe this is the missing part for D67923.

Fri, Sep 27, 6:50 AM · Restricted Project

Thu, Sep 26

tejohnson added a comment to D68063: Propeller: LLVM support for basic block sections.

A few comments after a quick high level scan of patch. Also - please mark all these related patches as parent and child versions in Phabricator.

Thu, Sep 26, 8:22 AM · Restricted Project
tejohnson accepted D68079: [NFC] Move hot cold splitting class to header file.

lgtm

Thu, Sep 26, 7:10 AM · Restricted Project

Wed, Sep 25

tejohnson created D68029: [ThinLTO] Enable index-only WPD from clang.
Wed, Sep 25, 7:57 AM · Restricted Project, Restricted Project

Tue, Sep 24

tejohnson added a comment to D67920: [PGO] Refactor Value Profiling into a plugin based oracle and create a well defined API for the plugins..

In general, I like the cleanup of extracting out the value profiling handling into a uniform API. I'm not convinced it needs something as complex as the plugin interface though, as opposed to a wrapper class that has an instance of each type and invokes the appropriate run() command given the requested profile type. Although perhaps there isn't a big downside of doing it that way either, not sure of the overhead of the resulting template instantiation.

Tue, Sep 24, 5:28 PM · Restricted Project
tejohnson added a comment to D67385: Pass -mcmodel to LTO plugin.

@tejohnson for example:

$ clang -flto a.c -c -o a.o
$ llvm-ar q a.a a.o          // archive libraries      
$ clang -flto a.a b.c -O2 -o main -mcmodel=small 

In above case user need to aware that passing -Wl,-plugin-opt=-code-model=small to plugin is necessary.
It seems to me that is inconvenience because I believe user doesn't know it.

Tue, Sep 24, 9:20 AM · Restricted Project

Mon, Sep 23

tejohnson updated the diff for D67923: [TLI] Support for per-Function TLI that overrides available libfuncs.

Use BitVector

Mon, Sep 23, 4:12 PM · Restricted Project
tejohnson added inline comments to D67923: [TLI] Support for per-Function TLI that overrides available libfuncs.
Mon, Sep 23, 4:12 PM · Restricted Project
tejohnson added a comment to D61634: [clang/llvm] Allow efficient implementation of libc's memory functions in C/C++.

I had some time to work on this finally late last week. I decided the most straightforward thing was to implement the necessary interface changes to the TLI analysis to make it require a Function (without any changes yet to how that analysis operates). See D66428 that I just mailed for review. That takes care of the most widespread changes needed for this migration, and afterwards we can change the analysis to look at the function attributes and make a truly per-function TLI.

Mon, Sep 23, 9:03 AM · Restricted Project, Restricted Project
tejohnson created D67923: [TLI] Support for per-Function TLI that overrides available libfuncs.
Mon, Sep 23, 8:53 AM · Restricted Project
tejohnson added a comment to D67385: Pass -mcmodel to LTO plugin.

@tejohnson when I run the clang -flto -Wl,-plugin-opt=-help command, it shows the

--code-model=<value>                               - Choose code model
   =tiny                                            -   Tiny code model
   =small                                           -   Small code model
   =kernel                                          -   Kernel code model
   =medium                                          -   Medium code model
   =large                                           -   Large code model
so I think the clang driver need to pass this info to LTO codegen, does it make sense?
Mon, Sep 23, 7:55 AM · Restricted Project
tejohnson added a comment to D67385: Pass -mcmodel to LTO plugin.

Typically -mcmodel is passed to the clang compile invocation which sets a module flag in the IR, which is then used by LTO (see calls to Module::setCodeModel() and Module::getCodeModel()). Why is it necessary to pass through the mcmodel passed to the link invocation?

Mon, Sep 23, 7:01 AM · Restricted Project

Sep 20 2019

tejohnson committed rG2f32e5d84d34: [Inliner] Remove incorrect early exit during switch cost computation (authored by tejohnson).
[Inliner] Remove incorrect early exit during switch cost computation
Sep 20 2019, 4:28 PM
tejohnson committed rL372440: [Inliner] Remove incorrect early exit during switch cost computation.
[Inliner] Remove incorrect early exit during switch cost computation
Sep 20 2019, 4:28 PM
tejohnson closed D67716: [Inliner] Remove incorrect early exit during switch cost computation.
Sep 20 2019, 4:28 PM · Restricted Project
tejohnson added a comment to D67716: [Inliner] Remove incorrect early exit during switch cost computation.

Is any compile time impact witnessed?

Sep 20 2019, 1:59 PM · Restricted Project
Herald added a project to D51276: [New PM][PassTiming] implement -time-passes for the new pass manager: Restricted Project.

as for the per-pass-name aggregation - I was going to supply a follow-up patch that changes -time-passes from boolean option to -time-passes=<aggregation-type>.
Perhaps aggregation-type should be 'aggregate' by default, and 'invocations' providing per-invocation info.
Yet I dont want to just remove the possibility of getting a more fine-grained data that we have in this patch.

Yeah, i definitely like having the per-invocation information. I'm just suggesting that (eventually, happy for this to come in follow-ups) we'll probably want the default to be aggregated a bit.

Sep 20 2019, 9:36 AM · Restricted Project

Sep 18 2019

tejohnson created D67716: [Inliner] Remove incorrect early exit during switch cost computation.
Sep 18 2019, 9:25 AM · Restricted Project

Sep 17 2019

tejohnson committed rGfd2044f29993: [PGO] Change hardcoded thresholds for cold/inlinehint to use summary (authored by tejohnson).
[PGO] Change hardcoded thresholds for cold/inlinehint to use summary
Sep 17 2019, 4:11 PM
tejohnson committed rL372189: [PGO] Change hardcoded thresholds for cold/inlinehint to use summary.
[PGO] Change hardcoded thresholds for cold/inlinehint to use summary
Sep 17 2019, 4:10 PM
tejohnson closed D67673: [PGO] Change hardcoded thresholds for cold/inlinehint to use summary.
Sep 17 2019, 4:10 PM · Restricted Project
tejohnson added inline comments to D67673: [PGO] Change hardcoded thresholds for cold/inlinehint to use summary.
Sep 17 2019, 2:11 PM · Restricted Project
tejohnson updated the diff for D67673: [PGO] Change hardcoded thresholds for cold/inlinehint to use summary.

Fix test and actually check the attributes

Sep 17 2019, 12:21 PM · Restricted Project
tejohnson added inline comments to D67673: [PGO] Change hardcoded thresholds for cold/inlinehint to use summary.
Sep 17 2019, 12:12 PM · Restricted Project
tejohnson created D67673: [PGO] Change hardcoded thresholds for cold/inlinehint to use summary.
Sep 17 2019, 12:03 PM · Restricted Project

Sep 16 2019

tejohnson accepted D67568: [LTO][Legacy] Add new C inferface to query libcall functions.

LGTM

Sep 16 2019, 10:22 AM · Restricted Project

Sep 13 2019

tejohnson accepted D67565: [NFC][libLTO] Rearrange declaration in lto.h.

lgtm

Sep 13 2019, 2:09 PM · Restricted Project
tejohnson added a comment to D67568: [LTO][Legacy] Add new C inferface to query libcall functions.

How are these interfaces usually tested?

Sep 13 2019, 12:51 PM · Restricted Project
tejohnson added a comment to D67565: [NFC][libLTO] Rearrange declaration in lto.h.

Sorry, should be clear that this is for doxygen documents. See @defgroup @ingroup from the comments. Those functions where in the Caching APIs group.

I don't see LLVM website is generating documents based on groups but still good to get it correct.

Just want to clean this up because I am planning to add some new APIs.

Sep 13 2019, 12:42 PM · Restricted Project
tejohnson added a comment to D67565: [NFC][libLTO] Rearrange declaration in lto.h.

I am not very familiar with the C API, but wondering if they belong in the ThinLTO group which is where they move with this patch? What determines the correct group?

Sep 13 2019, 11:12 AM · Restricted Project

Sep 11 2019

tejohnson accepted D66814: [IRMover] Don't map globals if their types are the same.

lgtm

Sep 11 2019, 11:13 AM · Restricted Project
tejohnson added a comment to D66814: [IRMover] Don't map globals if their types are the same.

Ping...

@tejohnson Did my reply about shared metadata clarify your question?

Sep 11 2019, 10:29 AM · Restricted Project

Sep 10 2019

tejohnson added a comment to D67377: [PGO][PGSO] ProfileSummary changes..

The abbreviation PGSO is used throughout the code but never defined. Suggest defining it in a few places (e.g. on the new data members and function declarations).

Sep 10 2019, 9:08 AM · Restricted Project

Sep 6 2019

tejohnson committed rGea61fcc2e46a: Remove stale TLI Module level pass registration (authored by tejohnson).
Remove stale TLI Module level pass registration
Sep 6 2019, 8:12 PM
tejohnson committed rG9c27b59cec76: Change TargetLibraryInfo analysis passes to always require Function (authored by tejohnson).
Change TargetLibraryInfo analysis passes to always require Function
Sep 6 2019, 8:09 PM
tejohnson committed rL371284: Change TargetLibraryInfo analysis passes to always require Function.
Change TargetLibraryInfo analysis passes to always require Function
Sep 6 2019, 8:09 PM
tejohnson committed rL371285: Remove stale TLI Module level pass registration.
Remove stale TLI Module level pass registration
Sep 6 2019, 8:09 PM
tejohnson closed D66428: Change TargetLibraryInfo analysis passes to always require Function.
Sep 6 2019, 8:08 PM · Restricted Project
tejohnson added inline comments to D59709: [ThinLTO] Auto-hide prevailing linkonce_odr only when all copies eligible.
Sep 6 2019, 2:02 PM · Restricted Project
tejohnson added inline comments to D59709: [ThinLTO] Auto-hide prevailing linkonce_odr only when all copies eligible.
Sep 6 2019, 11:37 AM · Restricted Project

Sep 5 2019

tejohnson added a comment to D66428: Change TargetLibraryInfo analysis passes to always require Function.

@chandlerc @hfinkel - can you take a look? Related to our discussion in D61634.

Sep 5 2019, 9:55 AM · Restricted Project
tejohnson added inline comments to D59709: [ThinLTO] Auto-hide prevailing linkonce_odr only when all copies eligible.
Sep 5 2019, 9:08 AM · Restricted Project
tejohnson added inline comments to D59709: [ThinLTO] Auto-hide prevailing linkonce_odr only when all copies eligible.
Sep 5 2019, 9:02 AM · Restricted Project

Aug 30 2019

tejohnson added a comment to D66428: Change TargetLibraryInfo analysis passes to always require Function.

Ping

Aug 30 2019, 7:06 AM · Restricted Project

Aug 29 2019

tejohnson added inline comments to D66814: [IRMover] Don't map globals if their types are the same.
Aug 29 2019, 2:22 PM · Restricted Project

Aug 27 2019

tejohnson added inline comments to D66814: [IRMover] Don't map globals if their types are the same.
Aug 27 2019, 11:54 AM · Restricted Project

Aug 26 2019

tejohnson added a comment to D66682: Fix stack_trace_compressor builds for Clang < 6.0.

@tejohnson Nested if ? :)

Aug 26 2019, 6:37 AM · Restricted Project, Restricted Project

Aug 25 2019

tejohnson added a comment to D66682: Fix stack_trace_compressor builds for Clang < 6.0.

@hctim

On Ubuntu Xenial with cmake 3.5.1, it fails with:

Make Error at projects/compiler-rt/lib/gwp_asan/CMakeLists.txt:108 (if):
  if given arguments:

    "COMPILER_RT_BUILD_LIBFUZZER" "AND" "GNU" "STREQUAL" "Clang" "AND" "CMAKE_CXX_COMPILER_VERSION" "VERSION_GREATER_EQUAL" "6.0"

  Unknown arguments specified

Any idea how to fix this? Thanks

Aug 25 2019, 8:32 AM · Restricted Project, Restricted Project

Aug 23 2019

tejohnson accepted D66682: Fix stack_trace_compressor builds for Clang < 6.0.

LGTM. Fixes my build issue!

Aug 23 2019, 3:29 PM · Restricted Project, Restricted Project
tejohnson added a comment to D66428: Change TargetLibraryInfo analysis passes to always require Function.

@chandlerc @hfinkel can you take a look?

Aug 23 2019, 1:46 PM · Restricted Project
tejohnson updated the diff for D66428: Change TargetLibraryInfo analysis passes to always require Function.

Address comments

Aug 23 2019, 1:41 PM · Restricted Project
tejohnson committed rGf692963600cc: Fix target for new X86 test (authored by tejohnson).
Fix target for new X86 test
Aug 23 2019, 9:04 AM
tejohnson committed rL369774: Fix target for new X86 test.
Fix target for new X86 test
Aug 23 2019, 9:01 AM
tejohnson committed rGea314fd47616: [ThinLTO] Fix handling of weak interposable symbols (authored by tejohnson).
[ThinLTO] Fix handling of weak interposable symbols
Aug 23 2019, 8:19 AM
tejohnson committed rL369766: [ThinLTO] Fix handling of weak interposable symbols.
[ThinLTO] Fix handling of weak interposable symbols
Aug 23 2019, 8:19 AM
tejohnson closed D66264: [ThinLTO] Fix handling of weak interposable symbols.
Aug 23 2019, 8:19 AM · Restricted Project
tejohnson updated the diff for D66264: [ThinLTO] Fix handling of weak interposable symbols.

Remove inadvertant debugging code.

Aug 23 2019, 7:52 AM · Restricted Project
tejohnson added a comment to D66264: [ThinLTO] Fix handling of weak interposable symbols.
In D66264#1636359, @pcc wrote:

LGTM

This would also be fixed by switching to canonical aliases, right? Maybe another data point in favour of finally switching.

Aug 23 2019, 7:52 AM · Restricted Project

Aug 20 2019

tejohnson added a comment to D66428: Change TargetLibraryInfo analysis passes to always require Function.

Thanks for the comments. I'm out for a few days, but will address these when I get back.

Aug 20 2019, 9:20 PM · Restricted Project
tejohnson accepted D66488: [LTO] Always mark regular LTO units with EnableSplitLTOUnit=1 under the new pass manager.

Lgtm. Thanks for fixing this! Not sure how I missed doing this for both PMs.

Aug 20 2019, 5:16 PM · Restricted Project, Restricted Project

Aug 19 2019

Herald added a reviewer for D61634: [clang/llvm] Allow efficient implementation of libc's memory functions in C/C++: jdoerfert.

I had some time to work on this finally late last week. I decided the most straightforward thing was to implement the necessary interface changes to the TLI analysis to make it require a Function (without any changes yet to how that analysis operates). See D66428 that I just mailed for review. That takes care of the most widespread changes needed for this migration, and afterwards we can change the analysis to look at the function attributes and make a truly per-function TLI.

Aug 19 2019, 10:18 AM · Restricted Project, Restricted Project
tejohnson created D66428: Change TargetLibraryInfo analysis passes to always require Function.
Aug 19 2019, 10:15 AM · Restricted Project

Aug 15 2019

tejohnson accepted D66253: [NewPM][PassInstrumentation] IR printing support for (Thin)LTO.

lgtm

Aug 15 2019, 10:23 AM · Restricted Project
tejohnson added a comment to D66253: [NewPM][PassInstrumentation] IR printing support for (Thin)LTO.

Thanks for fixing this. Comment on the test case below.

Aug 15 2019, 5:38 AM · Restricted Project