Page MenuHomePhabricator

aeubanks (Arthur Eubanks)
User

Projects

User does not belong to any projects.

User Details

User Since
Feb 12 2020, 11:23 AM (33 w, 3 h)

Recent Activity

Today

aeubanks added a comment to D88138: [NPM] Add target specific hook to add passes for New Pass Manager.

@aeubanks Thanks for the review. Can you also commit the patch on my behalf?

Wed, Sep 30, 1:30 PM · Restricted Project, Restricted Project
aeubanks committed rGce5379f0f067: [NPM] Add target specific hook to add passes for New Pass Manager (authored by aeubanks).
[NPM] Add target specific hook to add passes for New Pass Manager
Wed, Sep 30, 1:30 PM
aeubanks closed D88138: [NPM] Add target specific hook to add passes for New Pass Manager.
Wed, Sep 30, 1:30 PM · Restricted Project, Restricted Project
aeubanks added reviewers for D88609: Use uint64_t for branch weights instead of uint32_t: davidxl, mtrofin, wmi.
Wed, Sep 30, 1:04 PM · Restricted Project
aeubanks requested review of D88609: Use uint64_t for branch weights instead of uint32_t.
Wed, Sep 30, 1:02 PM · Restricted Project
aeubanks committed rG2d761a368c36: [test][NewPM][SampleProfile] Fix more tests under NPM (authored by aeubanks).
[test][NewPM][SampleProfile] Fix more tests under NPM
Wed, Sep 30, 11:51 AM
aeubanks accepted D88138: [NPM] Add target specific hook to add passes for New Pass Manager.

One nit, otherwise lgtm

Wed, Sep 30, 11:16 AM · Restricted Project, Restricted Project
aeubanks committed rG2ab87702231e: [test][SampleProfile][NewPM] Fix some tests under NPM (authored by aeubanks).
[test][SampleProfile][NewPM] Fix some tests under NPM
Wed, Sep 30, 9:44 AM
aeubanks added reviewers for D88588: [WholeProgramDevirt][NewPM] Add NPM testing path to match legacy pass: tejohnson, ychen, asbirlea.
Wed, Sep 30, 9:31 AM · Restricted Project
aeubanks requested review of D88588: [WholeProgramDevirt][NewPM] Add NPM testing path to match legacy pass.
Wed, Sep 30, 9:30 AM · Restricted Project
aeubanks requested review of D88584: [gn build] Support building with ThinLTO.
Wed, Sep 30, 9:01 AM · Restricted Project
aeubanks committed rG4fbd83c716db: [ObjCARCAA][NewPM] Add already ported objc-arc-aa to PassRegistry.def (authored by aeubanks).
[ObjCARCAA][NewPM] Add already ported objc-arc-aa to PassRegistry.def
Wed, Sep 30, 8:56 AM
aeubanks updated the diff for D88529: [DAE] MarkLive in MarkValue(MaybeLive) if any use is live.

break out of loop after MarkLive()

Wed, Sep 30, 8:16 AM · Restricted Project
aeubanks added inline comments to D88138: [NPM] Add target specific hook to add passes for New Pass Manager.
Wed, Sep 30, 7:19 AM · Restricted Project, Restricted Project

Yesterday

aeubanks added a comment to D87474: Ensure that we don't update Uses after MarkLive.

https://reviews.llvm.org/D88529 seems like a nicer solution, wdyt?

Tue, Sep 29, 10:46 PM · Restricted Project
aeubanks added a reviewer for D88529: [DAE] MarkLive in MarkValue(MaybeLive) if any use is live: Aaron1011.
Tue, Sep 29, 10:46 PM · Restricted Project
aeubanks requested review of D88529: [DAE] MarkLive in MarkValue(MaybeLive) if any use is live.
Tue, Sep 29, 10:46 PM · Restricted Project
aeubanks committed rGe6e73712ddfa: [gn build] Add missing dependency to Extensions (authored by aeubanks).
[gn build] Add missing dependency to Extensions
Tue, Sep 29, 8:14 PM
aeubanks added a comment to D88138: [NPM] Add target specific hook to add passes for New Pass Manager.

This looks good, just a couple nits

Tue, Sep 29, 4:58 PM · Restricted Project, Restricted Project
aeubanks added a comment to D86657: Add new hidden option -print-crash-IR that prints out IR that caused opt pipeline to crash.

overall lgtm with some nits, but I'd like yrouban to take a look at the signal handler

Tue, Sep 29, 3:49 PM · Restricted Project
aeubanks added a reviewer for D87045: [LoopNest] Handle loop-nest passes in LoopPassManager: asbirlea.
Tue, Sep 29, 9:34 AM · Restricted Project

Mon, Sep 28

aeubanks added a comment to D87869: [NewPM] Set -enable-npm-optnone to true by default.

Documentation done in https://reviews.llvm.org/D88342

Mon, Sep 28, 9:46 PM · Restricted Project
aeubanks committed rGda036b451470: [Docs][NewPM] Add note about required passes (authored by aeubanks).
[Docs][NewPM] Add note about required passes
Mon, Sep 28, 9:46 PM
aeubanks closed D88342: [Docs][NewPM] Add note about required passes.
Mon, Sep 28, 9:45 PM · Restricted Project

Sun, Sep 27

aeubanks updated the diff for D88342: [Docs][NewPM] Add note about required passes.

rework documentation

Sun, Sep 27, 11:04 PM · Restricted Project
aeubanks added a reverting change for rG506b6170cb51: Reland [CodeGen] emit CG profile for COFF object file: rGa2578e92e292: Revert "Reland [CodeGen] emit CG profile for COFF object file".
Sun, Sep 27, 10:44 PM
aeubanks committed rGa2578e92e292: Revert "Reland [CodeGen] emit CG profile for COFF object file" (authored by aeubanks).
Revert "Reland [CodeGen] emit CG profile for COFF object file"
Sun, Sep 27, 10:44 PM
aeubanks added a reverting change for D87811: [CodeGen] emit CG profile for COFF object file: rGa2578e92e292: Revert "Reland [CodeGen] emit CG profile for COFF object file".
Sun, Sep 27, 10:43 PM · Restricted Project

Sat, Sep 26

aeubanks accepted D88365: Port ConstraintElimination to the new pass manager.

thanks!

Sat, Sep 26, 2:53 PM · Restricted Project

Fri, Sep 25

aeubanks committed rG83e3ea2cfce6: [LowerTypeTests][NewPM] Add constructor that uses command line flags (authored by aeubanks).
[LowerTypeTests][NewPM] Add constructor that uses command line flags
Fri, Sep 25, 5:40 PM
aeubanks closed D87845: [LowerTypeTests][NewPM] Add constructor that uses command line flags.
Fri, Sep 25, 5:40 PM · Restricted Project
aeubanks added a comment to D87845: [LowerTypeTests][NewPM] Add constructor that uses command line flags.

ping

Fri, Sep 25, 4:14 PM · Restricted Project
aeubanks requested review of D88342: [Docs][NewPM] Add note about required passes.
Fri, Sep 25, 3:23 PM · Restricted Project
aeubanks added a comment to D88138: [NPM] Add target specific hook to add passes for New Pass Manager.

I think I'm still missing how exactly this will fit into the pipeline. As in where is registerPassBuilderCallbacks() going to be called?

Perhaps EmitAssemblyHelper::EmitAssemblyWithNewPassManager in BackendUtil.cpp. PassBuilder actually has TM as a member, so maybe from somewhere inside of PassBuilder itself, but I'm not sure whether that's the right thing to do.

Fri, Sep 25, 12:21 PM · Restricted Project, Restricted Project
aeubanks added a comment to D87869: [NewPM] Set -enable-npm-optnone to true by default.

Could you add a few lines about this in the LLVM documentation?
We've had all the discussion in patches, so it may get unnoticed if it's not documented.

Fri, Sep 25, 12:15 PM · Restricted Project
aeubanks committed rGd3f6972abb9c: [LoopReroll][NewPM] Port -loop-reroll to NPM (authored by aeubanks).
[LoopReroll][NewPM] Port -loop-reroll to NPM
Fri, Sep 25, 12:12 PM
aeubanks closed D87957: [LoopReroll][NewPM] Port -loop-reroll to NPM.
Fri, Sep 25, 12:12 PM · Restricted Project
aeubanks updated the diff for D87957: [LoopReroll][NewPM] Port -loop-reroll to NPM.

preserve loop analyses

Fri, Sep 25, 11:51 AM · Restricted Project
aeubanks added a comment to D87869: [NewPM] Set -enable-npm-optnone to true by default.

ping?

Fri, Sep 25, 11:45 AM · Restricted Project
aeubanks added a comment to D88138: [NPM] Add target specific hook to add passes for New Pass Manager.

I think I'm still missing how exactly this will fit into the pipeline. As in where is registerPassBuilderCallbacks() going to be called?

And a test like llvm/test/CodeGen/AMDGPU/opt-pipeline.ll for the new pass manager route would be nice to make sure this actually works.
something like RUN: opt -passes='default<O0>' -mtriple=... -disable-output -disable-verify -debug-pass-manager. Maybe checking all the normal passes isn't necessary like in the existing opt-pipeline.ll isn't necessary, just need to check that the custom passes (e.g. HexagonVectorLoopCarriedReusePass) are actually added.

My understanding is that this API gives other applications chance to modify the pass pipeline. HexagonVectorLoopCarriedReuse pass in not included in the pass pipeline for any optimization level, but we used to add the pass using adjustPassManager in Halide. That is why I don't think I can use the suggested method to test if the pass is being added

Fri, Sep 25, 11:39 AM · Restricted Project, Restricted Project
aeubanks requested review of D88324: [AlwaysInliner] Update BFI when inlining.
Fri, Sep 25, 11:04 AM · Restricted Project
aeubanks added a comment to D86988: [Inliner] Run always-inliner in inliner-wrapper.

I see, I'll work on that.
(I'm not familiar with the intricacies of the inliner, so any pointers like that to remaining blockers are appreciated).

Fri, Sep 25, 9:36 AM · Restricted Project

Thu, Sep 24

aeubanks added inline comments to D86988: [Inliner] Run always-inliner in inliner-wrapper.
Thu, Sep 24, 11:31 PM · Restricted Project
aeubanks added a comment to D88138: [NPM] Add target specific hook to add passes for New Pass Manager.

I think I'm still missing how exactly this will fit into the pipeline. As in where is registerPassBuilderCallbacks() going to be called?

Thu, Sep 24, 10:33 PM · Restricted Project, Restricted Project
aeubanks added a comment to D87474: Ensure that we don't update Uses after MarkLive.

Yep I'll take a look.

Thu, Sep 24, 9:29 AM · Restricted Project
aeubanks removed a reviewer for D87474: Ensure that we don't update Uses after MarkLive: chandlerc.
Thu, Sep 24, 9:29 AM · Restricted Project
aeubanks added a comment to D88138: [NPM] Add target specific hook to add passes for New Pass Manager.

Makes sense, but do you have an example usage of this?

I wanted to add the equivalent of adjustPassManager for Hexagon. Should I make that change in this same patch itself?

Thu, Sep 24, 9:02 AM · Restricted Project, Restricted Project

Wed, Sep 23

aeubanks added a comment to D87951: Enable opt-bisect for the new pass manager.

Hmm, thanks for those pointers. To combine opt-bisect from the two pass managers, maybe there can be an explicit call to copy stateful instrumentation? I think it helps that they are not interleaved, so we could do MPM.run(), then somehow SI.copy_to(CodeGenPasses), then CodeGenPasses.run(). I still need to read that thread too...

Yeah that makes sense. Or maybe have some global counter, since this is mostly a debugging thing, although that seems fairly hacky.

LTOBackend may also need to deal with this, but I don't know if flags like opt-bisect apply there.

Not sure...
I suppose we can think about interactions with the legacy PM in a later patch, this on its own is an improvement.

Wed, Sep 23, 7:53 PM · Restricted Project
aeubanks added a comment to D88107: [NewPM] Add callbacks to PassBuilder to run before/after parsing a pass.

Actually, doing verify-each in StandardInstrumentations seems much nicer. Not sure about how to do debugify-each though, filed https://bugs.llvm.org/show_bug.cgi?id=47633.

If debugify-each has or could be made to have a standalone function interface, could it use StandardInstrumentations?

Wed, Sep 23, 7:27 PM · Restricted Project
aeubanks committed rG714075f9c1ac: [NFC] Remove unnecessary default constructors (authored by aeubanks).
[NFC] Remove unnecessary default constructors
Wed, Sep 23, 6:55 PM
aeubanks added a reverting change for rG111aa4e36614: [NewPM] Add callbacks to PassBuilder to run before/after parsing a pass: rG29aaa188480e: Revert "[NewPM] Add callbacks to PassBuilder to run before/after parsing a pass".
Wed, Sep 23, 6:48 PM
aeubanks committed rG29aaa188480e: Revert "[NewPM] Add callbacks to PassBuilder to run before/after parsing a pass" (authored by aeubanks).
Revert "[NewPM] Add callbacks to PassBuilder to run before/after parsing a pass"
Wed, Sep 23, 6:48 PM
aeubanks added a reverting change for D88107: [NewPM] Add callbacks to PassBuilder to run before/after parsing a pass: rG29aaa188480e: Revert "[NewPM] Add callbacks to PassBuilder to run before/after parsing a pass".
Wed, Sep 23, 6:47 PM · Restricted Project
aeubanks added a comment to D88107: [NewPM] Add callbacks to PassBuilder to run before/after parsing a pass.

Actually, doing verify-each in StandardInstrumentations seems much nicer. Not sure about how to do debugify-each though, filed https://bugs.llvm.org/show_bug.cgi?id=47633.

Wed, Sep 23, 6:42 PM · Restricted Project
aeubanks added a comment to D88107: [NewPM] Add callbacks to PassBuilder to run before/after parsing a pass.

Turns out this doesn't actually work as intended...
The callbacks need to be done at the addPass() level, or else something like 'default<O3>' only runs the callbacks once, even though it adds a bunch of passes. Will probably revert once I come up with something better.

Wed, Sep 23, 5:23 PM · Restricted Project
aeubanks added a reviewer for D88138: [NPM] Add target specific hook to add passes for New Pass Manager: ychen.
Wed, Sep 23, 3:32 PM · Restricted Project, Restricted Project
aeubanks added a comment to D88138: [NPM] Add target specific hook to add passes for New Pass Manager.

Makes sense, but do you have an example usage of this?

Wed, Sep 23, 3:32 PM · Restricted Project, Restricted Project
aeubanks committed rG111aa4e36614: [NewPM] Add callbacks to PassBuilder to run before/after parsing a pass (authored by aeubanks).
[NewPM] Add callbacks to PassBuilder to run before/after parsing a pass
Wed, Sep 23, 3:29 PM
aeubanks closed D88107: [NewPM] Add callbacks to PassBuilder to run before/after parsing a pass.
Wed, Sep 23, 3:28 PM · Restricted Project
aeubanks committed rG6b1ce83a1238: [NewPM][CGSCC] Handle newly added functions in updateCGAndAnalysisManagerForPass (authored by aeubanks).
[NewPM][CGSCC] Handle newly added functions in updateCGAndAnalysisManagerForPass
Wed, Sep 23, 3:24 PM
aeubanks closed D87798: [NewPM][CGSCC] Handle newly added functions in updateCGAndAnalysisManagerForPass.
Wed, Sep 23, 3:24 PM · Restricted Project
aeubanks committed rG6700b9de1637: [NewPM][MSSA] Fix failures under NPM due to -enable-mssa-loop-dependency (authored by aeubanks).
[NewPM][MSSA] Fix failures under NPM due to -enable-mssa-loop-dependency
Wed, Sep 23, 3:21 PM
aeubanks closed D88128: [NewPM][MSSA] Fix failures under NPM due to -enable-mssa-loop-dependency.
Wed, Sep 23, 3:20 PM · Restricted Project
aeubanks requested review of D88187: [test][InstCombine][NewPM] Fix InstCombine tests under NPM.
Wed, Sep 23, 3:16 PM · Restricted Project
aeubanks committed rG11a75e6c92c9: [gn build] Allow option to build with asan/tsan/ubsan (authored by aeubanks).
[gn build] Allow option to build with asan/tsan/ubsan
Wed, Sep 23, 11:25 AM
aeubanks closed D88056: [gn build] Allow option to build with asan/tsan/ubsan.
Wed, Sep 23, 11:25 AM · Restricted Project

Tue, Sep 22

aeubanks committed rG2d0de5f9a4c5: [test][NewPM] Clean up ScalarEvolution tests to work under NPM (authored by aeubanks).
[test][NewPM] Clean up ScalarEvolution tests to work under NPM
Tue, Sep 22, 7:31 PM
aeubanks committed rGd6746ecb73c3: [test][NewPM] Fix update-scev.ll under NPM (authored by aeubanks).
[test][NewPM] Fix update-scev.ll under NPM
Tue, Sep 22, 7:27 PM
aeubanks retitled D88128: [NewPM][MSSA] Fix failures under NPM due to -enable-mssa-loop-dependency from [NewPM][MSSA] Enable MSSA when -enable-mssa-loop-dependency=true to [NewPM][MSSA] Fix failures under NPM due to -enable-mssa-loop-dependency.
Tue, Sep 22, 7:22 PM · Restricted Project
aeubanks updated the diff for D88128: [NewPM][MSSA] Fix failures under NPM due to -enable-mssa-loop-dependency.

instead, just fix all 6 tests failing because of -enable-mssa-loop-dependency

Tue, Sep 22, 7:22 PM · Restricted Project
aeubanks added a comment to D86970: [IRSim] Adding IRSimilarityCandidate that contains a region of IRInstructionData.

ASan to the rescue:

Tue, Sep 22, 7:13 PM · Restricted Project
aeubanks added a comment to D86970: [IRSim] Adding IRSimilarityCandidate that contains a region of IRInstructionData.

I believe this is causing issues in Windows builds, e.g. http://lab.llvm.org:8011/builders/llvm-clang-x86_64-expensive-checks-win/builds/25705 and hangs in http://45.33.8.238/win/summary.html.
I'm seeing a hang locally:
$ ./build/debug/obj/llvm/unittests/Analysis/AnalysisTests.exe --gtest_filter='*IRSimilarityCandidate.IdenticalWithDebug*'
Note: Google Test filter = *IRSimilarityCandidate.IdenticalWithDebug*
[==========] Running 1 test from 1 test case.
[----------] Global test environment set-up.
[----------] 1 test from IRSimilarityCandidate
[ RUN ] IRSimilarityCandidate.IdenticalWithDebug
warning: ignoring debug info with an invalid version (0) in <string>

Tue, Sep 22, 7:00 PM · Restricted Project
aeubanks added a comment to D88128: [NewPM][MSSA] Fix failures under NPM due to -enable-mssa-loop-dependency.

this causes some tests to fail, let me fix those up

Tue, Sep 22, 6:42 PM · Restricted Project
aeubanks requested review of D88128: [NewPM][MSSA] Fix failures under NPM due to -enable-mssa-loop-dependency.
Tue, Sep 22, 6:36 PM · Restricted Project
aeubanks updated the diff for D88107: [NewPM] Add callbacks to PassBuilder to run before/after parsing a pass.

add comment

Tue, Sep 22, 6:08 PM · Restricted Project
aeubanks committed rG61ac58e10ae1: [NewPM] Pin tests with -debug-pass to legacy PM (authored by aeubanks).
[NewPM] Pin tests with -debug-pass to legacy PM
Tue, Sep 22, 6:06 PM
aeubanks closed D87945: [NewPM] Pin tests with -debug-pass to legacy PM.
Tue, Sep 22, 6:06 PM · Restricted Project
aeubanks added inline comments to D88107: [NewPM] Add callbacks to PassBuilder to run before/after parsing a pass.
Tue, Sep 22, 5:24 PM · Restricted Project
aeubanks updated the diff for D88107: [NewPM] Add callbacks to PassBuilder to run before/after parsing a pass.

rename

Tue, Sep 22, 5:16 PM · Restricted Project
aeubanks requested review of D88118: [test][NewPM] Make dead-uses.ll work under NPM.
Tue, Sep 22, 3:28 PM · Restricted Project
aeubanks committed rGe16d10b7535a: [test][NewPM] Pin do-nothing-intrinsic.ll to legacy PM (authored by aeubanks).
[test][NewPM] Pin do-nothing-intrinsic.ll to legacy PM
Tue, Sep 22, 11:35 AM
aeubanks committed rGa5141b83f1f1: [LoopInfo][NewPM] Fix tests in Analysis/LoopInfo under NPM (authored by aeubanks).
[LoopInfo][NewPM] Fix tests in Analysis/LoopInfo under NPM
Tue, Sep 22, 11:31 AM
aeubanks added reviewers for D88107: [NewPM] Add callbacks to PassBuilder to run before/after parsing a pass: ychen, asbirlea.
Tue, Sep 22, 11:13 AM · Restricted Project
aeubanks updated the diff for D88107: [NewPM] Add callbacks to PassBuilder to run before/after parsing a pass.

small comment change

Tue, Sep 22, 11:12 AM · Restricted Project
aeubanks updated the diff for D88107: [NewPM] Add callbacks to PassBuilder to run before/after parsing a pass.

update comment
rename

Tue, Sep 22, 11:08 AM · Restricted Project
aeubanks requested review of D88107: [NewPM] Add callbacks to PassBuilder to run before/after parsing a pass.
Tue, Sep 22, 11:06 AM · Restricted Project
aeubanks committed rGbe2158bdccda: [DI][ASan][NewPM] Fix some DebugInfo ASan tests under NPM (authored by aeubanks).
[DI][ASan][NewPM] Fix some DebugInfo ASan tests under NPM
Tue, Sep 22, 8:29 AM
aeubanks committed rGa031ef6f3ab4: [GVNSink][NewPM] Add GVNSinkPass to PassRegistry.def (authored by aeubanks).
[GVNSink][NewPM] Add GVNSinkPass to PassRegistry.def
Tue, Sep 22, 8:24 AM
aeubanks added a comment to D87625: [PruneEH][NewPM] Port prune-eh to NPM.

asbirlea, you mentioned offline that there were passes that replaced this in the NPM and that this shouldn't be ported, do you know what those are so I can put them in the description of another change pinning tests to the legacy PM?

Tue, Sep 22, 7:57 AM · Restricted Project

Mon, Sep 21

aeubanks updated the diff for D86988: [Inliner] Run always-inliner in inliner-wrapper.

add option to disable adding AlwaysInlinerPass

Mon, Sep 21, 10:12 PM · Restricted Project
aeubanks committed rG3bf703fb6d55: [AlwaysInliner] Emit optimization remarks (authored by aeubanks).
[AlwaysInliner] Emit optimization remarks
Mon, Sep 21, 10:10 PM
aeubanks closed D88067: [AlwaysInliner] Emit optimization remarks.
Mon, Sep 21, 10:10 PM · Restricted Project
aeubanks updated the diff for D88067: [AlwaysInliner] Emit optimization remarks.

add assertion reason string

Mon, Sep 21, 9:46 PM · Restricted Project
aeubanks added a comment to D86988: [Inliner] Run always-inliner in inliner-wrapper.

Thanks!
I discovered that some tests regarding optimization remarks were failing since AlwaysInlinerPass didn't emit optimization remarks, separated that out into https://reviews.llvm.org/D88067.

Mon, Sep 21, 9:28 PM · Restricted Project
aeubanks requested review of D88067: [AlwaysInliner] Emit optimization remarks.
Mon, Sep 21, 9:27 PM · Restricted Project
aeubanks added inline comments to D87957: [LoopReroll][NewPM] Port -loop-reroll to NPM.
Mon, Sep 21, 6:36 PM · Restricted Project
aeubanks committed rG89df0fda1767: [UnifyLoopExits] Pin tests with -unify-loop-exits to legacy PM (authored by aeubanks).
[UnifyLoopExits] Pin tests with -unify-loop-exits to legacy PM
Mon, Sep 21, 6:09 PM
aeubanks closed D88058: [UnifyLoopExits] Pin tests with -unify-loop-exits to legacy PM.
Mon, Sep 21, 6:09 PM · Restricted Project
aeubanks committed rG9db0c572c1fc: [Delinearization][NewPM] Port delinearization to NPM (authored by aeubanks).
[Delinearization][NewPM] Port delinearization to NPM
Mon, Sep 21, 6:00 PM
aeubanks closed D87741: [Delinearization][NewPM] Port delinearization to NPM.
Mon, Sep 21, 6:00 PM · Restricted Project