Page MenuHomePhabricator

aeubanks (Arthur Eubanks)
User

Projects

User does not belong to any projects.

User Details

User Since
Feb 12 2020, 11:23 AM (49 w, 20 h)

Recent Activity

Yesterday

aeubanks added a comment to D94153: [AMDGPU][Inliner] Remove amdgpu-inline and add a new TTI inline hook.

ping

Wed, Jan 20, 11:55 PM · Restricted Project
aeubanks retitled D94153: [AMDGPU][Inliner] Remove amdgpu-inline and add a new TTI inline hook from [AMDGPU][Inliner] Remove amdgpu-inline and add new TTI inline hooks to [AMDGPU][Inliner] Remove amdgpu-inline and add a new TTI inline hook.
Wed, Jan 20, 11:53 PM · Restricted Project
aeubanks added reviewers for D95117: [NewPM][opt] Run the "default" AA pipeline by default: asbirlea, nikic.
Wed, Jan 20, 11:53 PM · Restricted Project
aeubanks requested review of D95117: [NewPM][opt] Run the "default" AA pipeline by default.
Wed, Jan 20, 11:52 PM · Restricted Project
aeubanks accepted D95079: [NFC] Move ImportedFunctionsInliningStatistics to Analysis.
Wed, Jan 20, 12:54 PM · Restricted Project
aeubanks added inline comments to D94996: [GVN] do not repeat PRE on failure to split critical edge.
Wed, Jan 20, 10:56 AM · Restricted Project

Tue, Jan 19

aeubanks accepted D94982: [NPM][Inliner] Factor ImportedFunctionStats in the InlineAdvisor.
Tue, Jan 19, 6:35 PM · Restricted Project
aeubanks added inline comments to D94982: [NPM][Inliner] Factor ImportedFunctionStats in the InlineAdvisor.
Tue, Jan 19, 4:55 PM · Restricted Project
aeubanks added a comment to D94982: [NPM][Inliner] Factor ImportedFunctionStats in the InlineAdvisor.

I don't understand the non-deterministic part, but otherwise this makes sense

Tue, Jan 19, 2:42 PM · Restricted Project
aeubanks committed rGcabe1b112437: [polly][NewPM][test] Fix polly tests under -enable-new-pm (authored by aeubanks).
[polly][NewPM][test] Fix polly tests under -enable-new-pm
Tue, Jan 19, 12:39 PM
aeubanks closed D94266: [polly][NewPM][test] Fix polly tests under -enable-new-pm.
Tue, Jan 19, 12:39 PM · Restricted Project
aeubanks added a comment to D94266: [polly][NewPM][test] Fix polly tests under -enable-new-pm.

Note that for same passes, there Polly has NPM equivalents. E.g. -polly-prepare has -passes=polly-prepare, -polly-scops has -passes='scop(print<polly-scops>)'.

Assuming this is the accepted workaround for the NPM transition (I personally think it is ugly), this looks fine for the Polly side of things.

Tue, Jan 19, 12:36 PM · Restricted Project
aeubanks updated the diff for D94266: [polly][NewPM][test] Fix polly tests under -enable-new-pm.

address comments

Tue, Jan 19, 12:35 PM · Restricted Project
aeubanks accepted D94853: [NFC] Disallow unused prefixes under Other.
Tue, Jan 19, 12:18 PM · Restricted Project
aeubanks added inline comments to D94853: [NFC] Disallow unused prefixes under Other.
Tue, Jan 19, 11:41 AM · Restricted Project
aeubanks added inline comments to D94853: [NFC] Disallow unused prefixes under Other.
Tue, Jan 19, 11:31 AM · Restricted Project
aeubanks committed rGa23178690987: [wasm][LLD] Rename --lto-new-pass-manager to --no-lto-legacy-pass-manager (authored by aeubanks).
[wasm][LLD] Rename --lto-new-pass-manager to --no-lto-legacy-pass-manager
Tue, Jan 19, 11:23 AM
aeubanks closed D93253: [wasm][LLD] Rename --lto-new-pass-manager to --no-lto-legacy-pass-manager.
Tue, Jan 19, 11:23 AM · Restricted Project
aeubanks added a comment to D93253: [wasm][LLD] Rename --lto-new-pass-manager to --no-lto-legacy-pass-manager.

@sbc100 is this ok?

Tue, Jan 19, 9:03 AM · Restricted Project

Fri, Jan 15

aeubanks abandoned D94808: [NewPM][Inliner] Move mandatory inliner inside function simplification pipeline.

https://reviews.llvm.org/D94825

Fri, Jan 15, 7:35 PM · Restricted Project, Restricted Project
aeubanks abandoned D94644: [Inliner] Inline alwaysinline calls first.

https://reviews.llvm.org/D94825

Fri, Jan 15, 7:34 PM · Restricted Project, Restricted Project
aeubanks added inline comments to D94853: [NFC] Disallow unused prefixes under Other.
Fri, Jan 15, 7:22 PM · Restricted Project
aeubanks added a comment to D91890: Introduce -print-changed=[diff | diff-quiet] which show changes in patch-like format.

just a general comment, I do like the idea of printing diffs between passes, could make looking through pipelines much nicer

Fri, Jan 15, 3:58 PM · Restricted Project
aeubanks accepted D94825: [NewPM][Inliner] Move the 'always inliner' case in the same CGSCC pass as 'regular' inliner.
Fri, Jan 15, 3:18 PM · Restricted Project, Restricted Project
aeubanks added a comment to D94825: [NewPM][Inliner] Move the 'always inliner' case in the same CGSCC pass as 'regular' inliner.

overall looks good, just a couple small comments

Fri, Jan 15, 3:05 PM · Restricted Project, Restricted Project
aeubanks added a comment to D94266: [polly][NewPM][test] Fix polly tests under -enable-new-pm.

ping

Fri, Jan 15, 12:09 PM · Restricted Project
aeubanks added inline comments to D88438: BreakCriticalEdges: do not split the critical edge from a CallBr indirect successor.
Fri, Jan 15, 11:14 AM · Restricted Project
aeubanks added inline comments to D94808: [NewPM][Inliner] Move mandatory inliner inside function simplification pipeline.
Fri, Jan 15, 10:51 AM · Restricted Project, Restricted Project
aeubanks added a comment to D94808: [NewPM][Inliner] Move mandatory inliner inside function simplification pipeline.

Wondering if this makes sense to you (before I go and finish cleaning up all the tests)

Fri, Jan 15, 10:20 AM · Restricted Project, Restricted Project
aeubanks added a reviewer for D94808: [NewPM][Inliner] Move mandatory inliner inside function simplification pipeline: mtrofin.
Fri, Jan 15, 10:19 AM · Restricted Project, Restricted Project
aeubanks requested review of D94808: [NewPM][Inliner] Move mandatory inliner inside function simplification pipeline.
Fri, Jan 15, 10:19 AM · Restricted Project, Restricted Project
aeubanks added inline comments to D88438: BreakCriticalEdges: do not split the critical edge from a CallBr indirect successor.
Fri, Jan 15, 9:32 AM · Restricted Project

Thu, Jan 14

aeubanks added inline comments to D94153: [AMDGPU][Inliner] Remove amdgpu-inline and add a new TTI inline hook.
Thu, Jan 14, 11:40 AM · Restricted Project
aeubanks updated the diff for D94153: [AMDGPU][Inliner] Remove amdgpu-inline and add a new TTI inline hook.

comment fixups
move max BB check into areInlineCompatible

Thu, Jan 14, 11:37 AM · Restricted Project
aeubanks committed rGa03ffa98503b: [NewPM] Fix placement of LoopFlatten (authored by aeubanks).
[NewPM] Fix placement of LoopFlatten
Thu, Jan 14, 9:50 AM
aeubanks closed D94650: [NewPM] Fix placement of LoopFlatten.
Thu, Jan 14, 9:50 AM · Restricted Project
aeubanks added a comment to D94644: [Inliner] Inline alwaysinline calls first.

It's not an emergency.
The issue with InlineAdvisorAnalysis is that the ModuleInlineWrapperPass presets the InliningAdvisorMode of the InlineAdvisorAnalysis. We could force override it, but then what's the point of InlineAdvisorAnalysis? Can't we just create an InlineAdvisor in the pass itself rather than using a wrapper like InlineAdvisorAnalysis?

Thu, Jan 14, 9:41 AM · Restricted Project, Restricted Project

Wed, Jan 13

aeubanks requested review of D94650: [NewPM] Fix placement of LoopFlatten.
Wed, Jan 13, 9:50 PM · Restricted Project
aeubanks edited reviewers for D94644: [Inliner] Inline alwaysinline calls first, added: dmgreen; removed: greened.
Wed, Jan 13, 9:49 PM · Restricted Project, Restricted Project
aeubanks added a comment to D94644: [Inliner] Inline alwaysinline calls first.

An alternative is to run the mandatory inliner in the same CGSCC pipeline as everything else, but the way InlineAdvisorAnalysis is setup made it hard to implement

Wed, Jan 13, 8:08 PM · Restricted Project, Restricted Project
aeubanks added a comment to D94644: [Inliner] Inline alwaysinline calls first.

Would running the function simplification pipeline after the always inline pass address the issue?

Wed, Jan 13, 8:01 PM · Restricted Project, Restricted Project
aeubanks committed rGb196dc660723: [NFC] Remove unused entry in PassRegistry.def (authored by aeubanks).
[NFC] Remove unused entry in PassRegistry.def
Wed, Jan 13, 7:03 PM
aeubanks added reviewers for D94644: [Inliner] Inline alwaysinline calls first: mtrofin, rnk, asbirlea, greened.
Wed, Jan 13, 7:02 PM · Restricted Project, Restricted Project
aeubanks updated the diff for D94644: [Inliner] Inline alwaysinline calls first.

test fix

Wed, Jan 13, 7:00 PM · Restricted Project, Restricted Project
aeubanks requested review of D94644: [Inliner] Inline alwaysinline calls first.
Wed, Jan 13, 6:58 PM · Restricted Project, Restricted Project
aeubanks committed rG39e6d242378a: [NewPM] Only non-trivially loop unswitch at -O3 and for non-optsize functions (authored by aeubanks).
[NewPM] Only non-trivially loop unswitch at -O3 and for non-optsize functions
Wed, Jan 13, 2:57 PM
aeubanks closed D94559: [NewPM] Only non-trivially loop unswitch at -O3 and for non-optsize functions.
Wed, Jan 13, 2:57 PM · Restricted Project
aeubanks updated the diff for D94559: [NewPM] Only non-trivially loop unswitch at -O3 and for non-optsize functions.

fix ARM unswitch test: looks like minsize functions are becoming smaller, which is good

Wed, Jan 13, 2:46 PM · Restricted Project

Tue, Jan 12

aeubanks updated the summary of D94153: [AMDGPU][Inliner] Remove amdgpu-inline and add a new TTI inline hook.
Tue, Jan 12, 9:08 PM · Restricted Project
aeubanks updated the diff for D94153: [AMDGPU][Inliner] Remove amdgpu-inline and add a new TTI inline hook.

rebase past https://reviews.llvm.org/D94187

Tue, Jan 12, 8:58 PM · Restricted Project
aeubanks added a comment to D94187: AMDGPU: Remove wrapper only call limitation.

is this good to go?

Tue, Jan 12, 4:00 PM · Restricted Project
aeubanks requested review of D94559: [NewPM] Only non-trivially loop unswitch at -O3 and for non-optsize functions.
Tue, Jan 12, 3:17 PM · Restricted Project
aeubanks added a comment to D94448: [NewPM] Run non-trivial loop unswitching under -O2/3/s/z.
Tue, Jan 12, 2:49 PM · Restricted Project
aeubanks committed rGf748e9229551: [NewPM] Run non-trivial loop unswitching under -O2/3/s/z (authored by aeubanks).
[NewPM] Run non-trivial loop unswitching under -O2/3/s/z
Tue, Jan 12, 11:05 AM
aeubanks closed D94448: [NewPM] Run non-trivial loop unswitching under -O2/3/s/z.
Tue, Jan 12, 11:05 AM · Restricted Project
aeubanks added a comment to D93946: [FuncAttrs] Infer noreturn.

Hi folks, I'm afraid an 8% regression in h264ref (SPEC INT 2006) bisects to this patch. This in on AArch64 with -flto on a Neoverse-N1 based system, but I wouldn't be surprised if this showed up elsewhere too.

How do people feel about reverting the patch while we investigate the regression? To start with, I'll try to find out why this has caused the drop in performance: it doesn't seem immediately obvious to me.

Tue, Jan 12, 9:50 AM · Restricted Project

Mon, Jan 11

aeubanks added a reviewer for D94448: [NewPM] Run non-trivial loop unswitching under -O2/3/s/z: rnk.
Mon, Jan 11, 1:55 PM · Restricted Project
aeubanks added reviewers for D94448: [NewPM] Run non-trivial loop unswitching under -O2/3/s/z: asbirlea, SjoerdMeijer, davide, sanjoy.
Mon, Jan 11, 1:55 PM · Restricted Project
aeubanks updated the diff for D94448: [NewPM] Run non-trivial loop unswitching under -O2/3/s/z.

parameter comment

Mon, Jan 11, 1:53 PM · Restricted Project
aeubanks requested review of D94448: [NewPM] Run non-trivial loop unswitching under -O2/3/s/z.
Mon, Jan 11, 1:52 PM · Restricted Project
aeubanks abandoned D94248: [NFC][FuncAttrs] Add comment on why we look for noreturn calls.
Mon, Jan 11, 8:28 AM · Restricted Project

Fri, Jan 8

aeubanks committed rG756dd707668c: [NewPM] Run ObjC ARC passes (authored by aeubanks).
[NewPM] Run ObjC ARC passes
Fri, Jan 8, 3:47 PM
aeubanks closed D93743: [NewPM] Run ObjC ARC passes.
Fri, Jan 8, 3:47 PM · Restricted Project, Restricted Project
aeubanks added a comment to D93743: [NewPM] Run ObjC ARC passes.

LGTM. ARC contract pass isn't being run by the NPM, but you are going to change that in the future, I guess?

Fri, Jan 8, 3:13 PM · Restricted Project, Restricted Project

Thu, Jan 7

aeubanks committed rG69cf7350628a: [NewPM] Don't error when there's an unrecognized pass name (authored by aeubanks).
[NewPM] Don't error when there's an unrecognized pass name
Thu, Jan 7, 10:34 PM
aeubanks closed D94283: [NewPM] Don't error when there's an unrecognized pass name.
Thu, Jan 7, 10:33 PM · Restricted Project
aeubanks added a comment to D94283: [NewPM] Don't error when there's an unrecognized pass name.

LGTM. I still think we should get back to the legacy names so that translation is avoided.

Thu, Jan 7, 10:24 PM · Restricted Project
aeubanks requested review of D94283: [NewPM] Don't error when there's an unrecognized pass name.
Thu, Jan 7, 8:23 PM · Restricted Project
aeubanks added inline comments to D87216: [NewPM] Support --print-before/after in NPM.
Thu, Jan 7, 7:22 PM · Restricted Project, Restricted Project
aeubanks added a comment to D92806: Single function compilation mode..

WDYT about adding optnone to all functions except the ones you're interested in? Would that cut down the compile times?
We could reuse ForceFunctionAttrsPass rather than adding so much plumbing. This is too much plumbing for my liking.

Thu, Jan 7, 7:22 PM · Restricted Project, Restricted Project
aeubanks added a comment to D93743: [NewPM] Run ObjC ARC passes.

Is this change safe considering calls to EP.get() can add function declarations to the module as you mentioned in https://reviews.llvm.org/D86178?

Thu, Jan 7, 6:01 PM · Restricted Project, Restricted Project
aeubanks added a comment to D93929: [NewPM][Hexagon] Fix HexagonVectorLoopCarriedReusePass position in pipeline.

@asbirlea I remember that HexagonVLCR pass has a dependency on LCSSA and LoopSimplifyPass. Is there any way we can run these passes too at LoopOptimizerEndEP? If not maybe use another EP for legacy PM? I'm not sure if the below code would run these passes in the correct order as well

PB.registerOptimizerLastEPCallback(
    [=](ModulePassManager &MPM, PassBuilder::OptimizationLevel Level) {
      LoopPassManager LPM(DebugPassManager);
      FunctionPassManager FPM(DebugPassManager);
      LPM.addPass(HexagonVectorLoopCarriedReusePass());
      FPM.addPass(LoopSimplifyPass());
      FPM.addPass(LCSSAPass());
      FPM.addPass(createFunctionToLoopPassAdaptor(std::move(LPM)));
      MPM.addPass(createModuleToFunctionPassAdaptor(std::move(FPM)));
    });

@pranavb Can you comment more on this?

Thu, Jan 7, 4:50 PM · Restricted Project
aeubanks committed rG9ccf13c36d1c: [NewPM][NVPTX] Port NVPTX opt passes (authored by aeubanks).
[NewPM][NVPTX] Port NVPTX opt passes
Thu, Jan 7, 3:14 PM
aeubanks closed D93930: [NewPM][NVPTX] Port NVPTX opt passes.
Thu, Jan 7, 3:14 PM · Restricted Project
aeubanks updated the diff for D93930: [NewPM][NVPTX] Port NVPTX opt passes.

rebase
make function static

Thu, Jan 7, 3:11 PM · Restricted Project
aeubanks requested changes to D89188: [CallGraphUpdater][FIX] Do not attempt to update unreachable functions.
Thu, Jan 7, 3:07 PM · Restricted Project
aeubanks committed rGb2dafd44ca7a: [NewPM][Hexagon] Fix HexagonVectorLoopCarriedReusePass position in pipeline (authored by aeubanks).
[NewPM][Hexagon] Fix HexagonVectorLoopCarriedReusePass position in pipeline
Thu, Jan 7, 3:04 PM
aeubanks closed D93929: [NewPM][Hexagon] Fix HexagonVectorLoopCarriedReusePass position in pipeline.
Thu, Jan 7, 3:04 PM · Restricted Project
aeubanks added reviewers for D93930: [NewPM][NVPTX] Port NVPTX opt passes: rnk, asbirlea, ychen.
Thu, Jan 7, 2:23 PM · Restricted Project
aeubanks added a reviewer for D93929: [NewPM][Hexagon] Fix HexagonVectorLoopCarriedReusePass position in pipeline: asbirlea.
Thu, Jan 7, 2:23 PM · Restricted Project
aeubanks added a reviewer for D93743: [NewPM] Run ObjC ARC passes: asbirlea.
Thu, Jan 7, 2:23 PM · Restricted Project, Restricted Project
aeubanks added a reviewer for D93929: [NewPM][Hexagon] Fix HexagonVectorLoopCarriedReusePass position in pipeline: rnk.
Thu, Jan 7, 2:22 PM · Restricted Project
aeubanks abandoned D92433: [NewPM][LTO] Use new pass manager with ENABLE_EXPERIMENTAL_NEW_PASS_MANAGER.

Was split into multiple changes

Thu, Jan 7, 2:22 PM · Restricted Project
aeubanks committed rG1a2eaebc09c6: [CoroSplit][NewPM] Don't call LazyCallGraph functions to split when no clones (authored by aeubanks).
[CoroSplit][NewPM] Don't call LazyCallGraph functions to split when no clones
Thu, Jan 7, 2:07 PM
aeubanks closed D94258: [CoroSplit][NewPM] Don't call LazyCallGraph functions to split when no clones.
Thu, Jan 7, 2:07 PM · Restricted Project
aeubanks committed rGd002cd4e0f10: [test] Move coro-retcon-unreachable.ll into llvm/test (authored by aeubanks).
[test] Move coro-retcon-unreachable.ll into llvm/test
Thu, Jan 7, 2:07 PM
aeubanks closed D94257: [test] Move coro-retcon-unreachable.ll into llvm/test.
Thu, Jan 7, 2:06 PM · Restricted Project, Restricted Project
aeubanks added a reviewer for D94266: [polly][NewPM][test] Fix polly tests under -enable-new-pm: Meinersbur.
Thu, Jan 7, 2:04 PM · Restricted Project
aeubanks requested review of D94266: [polly][NewPM][test] Fix polly tests under -enable-new-pm.
Thu, Jan 7, 2:04 PM · Restricted Project
aeubanks added reviewers for D94258: [CoroSplit][NewPM] Don't call LazyCallGraph functions to split when no clones: lxfind, rjmccall, rnk, asbirlea.
Thu, Jan 7, 12:48 PM · Restricted Project
aeubanks requested review of D94258: [CoroSplit][NewPM] Don't call LazyCallGraph functions to split when no clones.
Thu, Jan 7, 12:48 PM · Restricted Project
aeubanks added reviewers for D94257: [test] Move coro-retcon-unreachable.ll into llvm/test: lxfind, rjmccall.
Thu, Jan 7, 12:34 PM · Restricted Project, Restricted Project
aeubanks requested review of D94257: [test] Move coro-retcon-unreachable.ll into llvm/test.
Thu, Jan 7, 12:33 PM · Restricted Project, Restricted Project
aeubanks requested review of D94248: [NFC][FuncAttrs] Add comment on why we look for noreturn calls.
Thu, Jan 7, 11:01 AM · Restricted Project

Wed, Jan 6

aeubanks accepted D94187: AMDGPU: Remove wrapper only call limitation.

I suppose doing some benchmarking would be ideal, but this makes sense, I can't imagine why these sorts of functions wouldn't be inlined other than attributes like coldcc/noinline.

Wed, Jan 6, 12:35 PM · Restricted Project
aeubanks committed rG47fba9e1eae6: [test] Pin partial-unswitch.ll to legacy PM (authored by aeubanks).
[test] Pin partial-unswitch.ll to legacy PM
Wed, Jan 6, 11:53 AM
aeubanks committed rGa515342de9c5: [test] Pin AMDGPU/opt-pipeline.ll to legacy PM (authored by aeubanks).
[test] Pin AMDGPU/opt-pipeline.ll to legacy PM
Wed, Jan 6, 11:44 AM
aeubanks committed rG54c01057b68d: Fix non-assert builds after D93828 (authored by aeubanks).
Fix non-assert builds after D93828
Wed, Jan 6, 11:42 AM
aeubanks committed rG7fea561eb1ce: [CGSCC][Coroutine][NewPM] Properly support function splitting/outlining (authored by aeubanks).
[CGSCC][Coroutine][NewPM] Properly support function splitting/outlining
Wed, Jan 6, 11:28 AM
aeubanks closed D93828: [CGSCC][Coroutine][NewPM] Properly support function splitting/outlining.
Wed, Jan 6, 11:28 AM · Restricted Project