[PATCH] D83519: [NewPM] Support optnone under new pass manager

2020-07-17 Thread Arthur Eubanks via Phabricator via cfe-commits
aeubanks added a comment. In D83519#2158938 , @ychen wrote: > In D83519#2144616 , @aeubanks wrote: > > > In D83519#2144463 , @aeubanks > > wrote: > > > > > In

[PATCH] D83519: [NewPM] Support optnone under new pass manager

2020-07-17 Thread Arthur Eubanks via Phabricator via cfe-commits
aeubanks updated this revision to Diff 278871. aeubanks added a comment. Remove required passes part Rebase Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D83519/new/ https://reviews.llvm.org/D83519 Files: clang/lib/CodeGen/BackendUtil.cpp

[PATCH] D84774: [NewPM][PassInstrument] Add PrintPass callback to StandardInstrumentations

2020-07-28 Thread Arthur Eubanks via Phabricator via cfe-commits
aeubanks accepted this revision. aeubanks added a comment. Thanks for doing this! Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D84774/new/ https://reviews.llvm.org/D84774 ___ cfe-commits mailing list

[PATCH] D84707: [DFSan][NewPM] Port DataFlowSanitizer to NewPM

2020-07-29 Thread Arthur Eubanks via Phabricator via cfe-commits
aeubanks added inline comments. Comment at: llvm/lib/Passes/PassRegistry.def:92 MODULE_PASS("verify", VerifierPass()) +MODULE_PASS("dfsan", DataFlowSanitizerPass()) MODULE_PASS("asan-module", ModuleAddressSanitizerPass(/*CompileKernel=*/false, false, true, false))

[PATCH] D84707: [DFSan][NewPM] Port DataFlowSanitizer to NewPM

2020-07-27 Thread Arthur Eubanks via Phabricator via cfe-commits
aeubanks created this revision. Herald added subscribers: llvm-commits, cfe-commits, aaron.ballman, hiraditya. Herald added projects: clang, LLVM. Repository: rG LLVM Github Monorepo https://reviews.llvm.org/D84707 Files: clang/lib/CodeGen/BackendUtil.cpp

[PATCH] D84707: [DFSan][NewPM] Port DataFlowSanitizer to NewPM

2020-07-27 Thread Arthur Eubanks via Phabricator via cfe-commits
aeubanks updated this revision to Diff 281109. aeubanks added a comment. Address review comments Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D84707/new/ https://reviews.llvm.org/D84707 Files: clang/lib/CodeGen/BackendUtil.cpp

[PATCH] D84707: [DFSan][NewPM] Port DataFlowSanitizer to NewPM

2020-07-27 Thread Arthur Eubanks via Phabricator via cfe-commits
aeubanks marked an inline comment as done. aeubanks added inline comments. Comment at: llvm/include/llvm/Transforms/Instrumentation/DataFlowSanitizer.h:11 + +#include "llvm/IR/Function.h" +#include "llvm/IR/Module.h" ychen wrote: > Is Function.h needed? Nope,

[PATCH] D83519: [NewPM] Support optnone under new pass manager

2020-07-20 Thread Arthur Eubanks via Phabricator via cfe-commits
aeubanks updated this revision to Diff 279313. aeubanks marked 4 inline comments as done. aeubanks added a comment. Address comments Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D83519/new/ https://reviews.llvm.org/D83519 Files:

[PATCH] D84707: [DFSan][NewPM] Port DataFlowSanitizer to NewPM

2020-07-29 Thread Arthur Eubanks via Phabricator via cfe-commits
This revision was landed with ongoing or failed builds. This revision was automatically updated to reflect the committed changes. Closed by commit rG71d0a2b8a313: [DFSan][NewPM] Port DataFlowSanitizer to NewPM (authored by aeubanks). Repository: rG LLVM Github Monorepo CHANGES SINCE LAST

[PATCH] D94257: [test] Move coro-retcon-unreachable.ll into llvm/test

2021-01-07 Thread Arthur Eubanks via Phabricator via cfe-commits
aeubanks created this revision. Herald added a subscriber: lxfind. aeubanks requested review of this revision. Herald added projects: clang, LLVM. Herald added subscribers: llvm-commits, cfe-commits. Repository: rG LLVM Github Monorepo https://reviews.llvm.org/D94257 Files:

[PATCH] D94257: [test] Move coro-retcon-unreachable.ll into llvm/test

2021-01-07 Thread Arthur Eubanks via Phabricator via cfe-commits
This revision was automatically updated to reflect the committed changes. Closed by commit rGd002cd4e0f10: [test] Move coro-retcon-unreachable.ll into llvm/test (authored by aeubanks). Changed prior to commit: https://reviews.llvm.org/D94257?vs=315209=315240#toc Repository: rG LLVM Github

[PATCH] D87216: [NewPM] Support --print-before/after in NPM

2020-12-01 Thread Arthur Eubanks via Phabricator via cfe-commits
aeubanks updated this revision to Diff 308797. aeubanks added a comment. address review comments Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D87216/new/ https://reviews.llvm.org/D87216 Files: llvm/include/llvm/IR/PassInstrumentation.h

[PATCH] D87216: [NewPM] Support --print-before/after in NPM

2020-12-01 Thread Arthur Eubanks via Phabricator via cfe-commits
aeubanks added inline comments. Comment at: llvm/lib/Passes/PassBuilder.cpp:449 + // We currently only use these for --print-before/after. + if (PIC && (!printBeforePasses().empty() || !printAfterPasses().empty())) { +#define MODULE_PASS(NAME, CREATE_PASS)

[PATCH] D87216: [NewPM] Support --print-before/after in NPM

2020-12-03 Thread Arthur Eubanks via Phabricator via cfe-commits
aeubanks added a comment. In D87216#2431508 , @ychen wrote: > It is very unfortunate that we have to manage and translate between two sets > of names (one pass name and one type name). This makes me wonder if we just > keep the pass name as the return

[PATCH] D87216: [NewPM] Support --print-before/after in NPM

2020-12-03 Thread Arthur Eubanks via Phabricator via cfe-commits
aeubanks updated this revision to Diff 309338. aeubanks added a comment. forward declare class Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D87216/new/ https://reviews.llvm.org/D87216 Files: llvm/include/llvm/IR/IRPrintingPasses.h

[PATCH] D87216: [NewPM] Support --print-before/after in NPM

2020-12-03 Thread Arthur Eubanks via Phabricator via cfe-commits
This revision was landed with ongoing or failed builds. This revision was automatically updated to reflect the committed changes. Closed by commit rG2f0de582949d: [NewPM] Support --print-before/after in NPM (authored by aeubanks). Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION

[PATCH] D92436: [Time-report] Add a flag -ftime-report={per-pass,per-pass-run} to control the pass timing aggregation

2020-12-07 Thread Arthur Eubanks via Phabricator via cfe-commits
aeubanks added inline comments. Comment at: llvm/lib/IR/PassTimingInfo.cpp:47 +cl::desc("Time each pass run, printing elapsed time for each run on exit"), +cl::callback([](const bool &) { TimePassesIsEnabled = true; })); + ychen wrote: > aeubanks wrote:

[PATCH] D92436: [Time-report] Add a flag -ftime-report={per-pass,per-pass-run} to control the pass timing aggregation

2020-12-07 Thread Arthur Eubanks via Phabricator via cfe-commits
aeubanks accepted this revision. aeubanks added a comment. lgtm with comments Comment at: clang/test/Misc/time-passes.c:2 +// Check that legacy pass manager could only use -ftime-report +// RUN: %clang_cc1 -emit-obj -O1 -ftime-report %s -o /dev/null 2>&1 | FileCheck %s

[PATCH] D92897: Set legacy pass manager OptBisect to same as NPM OptBisect

2020-12-08 Thread Arthur Eubanks via Phabricator via cfe-commits
aeubanks added a comment. Thanks for looking into this! Can you upload the diff with full context (e.g. use `diff -U ` or use arcanist to upload)? Comment at: clang/lib/CodeGen/BackendUtil.cpp:1153 + // Sets legacy pass manager OptBisect to the same one as npm so passes

[PATCH] D92897: Set legacy pass manager OptBisect to same as NPM OptBisect

2020-12-08 Thread Arthur Eubanks via Phabricator via cfe-commits
aeubanks added a comment. Oh and in the description > This means that when using OptBisect under the NPM it runs twice when it > should only run once. doesn't really make sense. I'd say something like > e.g. -opt-bisect-limit=1 will run both the first optional optimization pass > and the

[PATCH] D92072: [CMake][NewPM] Move ENABLE_EXPERIMENTAL_NEW_PASS_MANAGER into llvm/

2020-11-24 Thread Arthur Eubanks via Phabricator via cfe-commits
aeubanks created this revision. Herald added subscribers: llvm-commits, cfe-commits, mgorny. Herald added projects: clang, LLVM. aeubanks requested review of this revision. This allows us to use its value everywhere, rather than just llvm. Some other places, like opt and lld, will use its value

[PATCH] D92915: [Driver] Add -f[no-]new-pass-manager to supersede -f[no-]experimental-new-pass-manager

2020-12-09 Thread Arthur Eubanks via Phabricator via cfe-commits
aeubanks accepted this revision. aeubanks added a comment. This revision is now accepted and ready to land. Makes sense to me, thanks! Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D92915/new/ https://reviews.llvm.org/D92915

[PATCH] D93002: [NPM] Support -fmerge-functions

2020-12-09 Thread Arthur Eubanks via Phabricator via cfe-commits
aeubanks created this revision. aeubanks added reviewers: ychen, asbirlea, nikic. Herald added a subscriber: hiraditya. aeubanks requested review of this revision. Herald added projects: clang, LLVM. Herald added subscribers: llvm-commits, cfe-commits. I tried to put it in the same place in the

[PATCH] D92915: [Driver] Add -f[no-]legacy-pass-manager to supersede -f[no-]experimental-new-pass-manager

2020-12-09 Thread Arthur Eubanks via Phabricator via cfe-commits
aeubanks added a comment. In D92915#2444287 , @thakis wrote: > Seems to break tests: http://45.33.8.238/linux/34907/step_7.txt that test fails when the NPM is turned on and lit isn't aware of it :) Comment at:

[PATCH] D92915: [Driver] Add -f[no-]legacy-pass-manager to supersede -f[no-]experimental-new-pass-manager

2020-12-09 Thread Arthur Eubanks via Phabricator via cfe-commits
aeubanks added a comment. In D92915#2444242 , @MaskRay wrote: > Thanks! > > @rsmith highlit the coroutine problem > https://bugs.llvm.org/show_bug.cgi?id=48190 (" ... it breaks support for a > C++20 language feature (coroutines)") > > Perhaps this means

[PATCH] D92072: [CMake][NewPM] Move ENABLE_EXPERIMENTAL_NEW_PASS_MANAGER into llvm/

2020-12-01 Thread Arthur Eubanks via Phabricator via cfe-commits
This revision was landed with ongoing or failed builds. This revision was automatically updated to reflect the committed changes. Closed by commit rGa36bd4c90dcc: [CMake][NewPM] Move ENABLE_EXPERIMENTAL_NEW_PASS_MANAGER into llvm/ (authored by aeubanks). Repository: rG LLVM Github Monorepo

[PATCH] D92072: [CMake][NewPM] Move ENABLE_EXPERIMENTAL_NEW_PASS_MANAGER into llvm/

2020-12-01 Thread Arthur Eubanks via Phabricator via cfe-commits
aeubanks updated this revision to Diff 308713. aeubanks added a comment. Herald added a subscriber: dang. rename to LLVM_ENABLE_NEW_PASS_MANAGER Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D92072/new/ https://reviews.llvm.org/D92072 Files:

[PATCH] D92072: [CMake][NewPM] Move ENABLE_EXPERIMENTAL_NEW_PASS_MANAGER into llvm/

2020-12-01 Thread Arthur Eubanks via Phabricator via cfe-commits
aeubanks added a comment. In D92072#2425025 , @hans wrote: > Seems like a good idea to me. > > From the change description: > >> This allows us to use its value everywhere, rather than just llvm. > > Do you mean rather than just clang? Whoops, yup.

[PATCH] D92072: [CMake][NewPM] Move ENABLE_EXPERIMENTAL_NEW_PASS_MANAGER into llvm/

2020-12-01 Thread Arthur Eubanks via Phabricator via cfe-commits
aeubanks added a comment. In D92072#2426511 , @nikic wrote: > It looks like this change has also enabled the new pass manager by default. Whoops, I'll revert and see what went wrong. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION

[PATCH] D92072: [CMake][NewPM] Move ENABLE_EXPERIMENTAL_NEW_PASS_MANAGER into llvm/

2020-12-01 Thread Arthur Eubanks via Phabricator via cfe-commits
aeubanks updated this revision to Diff 308761. aeubanks added a comment. set LLVM_ENABLE_NEW_PASS_MANAGER to the value of ENABLE_EXPERIMENTAL_NEW_PASS_MANAGER, not the string itself Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D92072/new/

[PATCH] D92072: [CMake][NewPM] Move ENABLE_EXPERIMENTAL_NEW_PASS_MANAGER into llvm/

2020-12-01 Thread Arthur Eubanks via Phabricator via cfe-commits
This revision was landed with ongoing or failed builds. This revision was automatically updated to reflect the committed changes. Closed by commit rGaafb3662103f: Reland [CMake][NewPM] Move ENABLE_EXPERIMENTAL_NEW_PASS_MANAGER into llvm/ (authored by aeubanks). Repository: rG LLVM Github

[PATCH] D91567: [llvm][inliner] Reuse the inliner pass to implement 'always inliner'

2020-11-30 Thread Arthur Eubanks via Phabricator via cfe-commits
aeubanks accepted this revision. aeubanks added a comment. This revision is now accepted and ready to land. aside from some nits, lgtm thanks for doing this! Comment at: clang/test/Frontend/optimization-remark-line-directive.c:5 -// RUN: %clang_cc1 %s -Rpass=inline

[PATCH] D87216: [NewPM] Support --print-before/after in NPM

2020-11-30 Thread Arthur Eubanks via Phabricator via cfe-commits
aeubanks added a comment. ping Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D87216/new/ https://reviews.llvm.org/D87216 ___ cfe-commits mailing list cfe-commits@lists.llvm.org

[PATCH] D87216: [NewPM] Support --print-before/after in NPM

2020-12-02 Thread Arthur Eubanks via Phabricator via cfe-commits
aeubanks added a comment. In D87216#2428359 , @jamieschmeiser wrote: > I see you have made the requested changes (nit: clang-tidy complained about > the capitalization of the function) but why are there so many other, > unrelated changes shown? Is

[PATCH] D87216: [NewPM] Support --print-before/after in NPM

2020-12-02 Thread Arthur Eubanks via Phabricator via cfe-commits
aeubanks updated this revision to Diff 308995. aeubanks added a comment. fix capitalization remove extra declaration and fixup includes Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D87216/new/ https://reviews.llvm.org/D87216 Files:

[PATCH] D87216: [NewPM] Support --print-before/after in NPM

2020-12-02 Thread Arthur Eubanks via Phabricator via cfe-commits
aeubanks updated this revision to Diff 309000. aeubanks added a comment. clean up some more unnecessary llvm:: add comments to function declarations in PrintPasses.h Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D87216/new/

[PATCH] D87216: [NewPM] Support --print-before/after in NPM

2020-12-02 Thread Arthur Eubanks via Phabricator via cfe-commits
aeubanks updated this revision to Diff 309052. aeubanks added a comment. add comments to new methods Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D87216/new/ https://reviews.llvm.org/D87216 Files: llvm/include/llvm/IR/IRPrintingPasses.h

[PATCH] D93458: clang-cl: Remove /Zd flag

2020-12-17 Thread Arthur Eubanks via Phabricator via cfe-commits
aeubanks accepted this revision. aeubanks added a comment. This revision is now accepted and ready to land. lgtm, but perhaps Reid should take a look Comment at: clang/docs/ReleaseNotes.rst:127 + +- clang-cl's ``/Zd`` flag no longer exist. But ``-gline-tables-only`` still +

[PATCH] D92897: Set legacy pass manager OptBisect to same as NPM OptBisect

2020-12-11 Thread Arthur Eubanks via Phabricator via cfe-commits
aeubanks added inline comments. Comment at: llvm/include/llvm/IR/OptBisect.h:58 + /// Checks the bisect limit to determine if the specified pass should run. + /// This calls checkPass + bool shouldRunPass(const Pass *P, StringRef IRDescription) override;

[PATCH] D93002: [NPM] Support -fmerge-functions

2020-12-10 Thread Arthur Eubanks via Phabricator via cfe-commits
This revision was landed with ongoing or failed builds. This revision was automatically updated to reflect the committed changes. Closed by commit rGff7e1da68f2a: [NPM] Support -fmerge-functions (authored by aeubanks). Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION

[PATCH] D93002: [NPM] Support -fmerge-functions

2020-12-10 Thread Arthur Eubanks via Phabricator via cfe-commits
aeubanks updated this revision to Diff 310969. aeubanks added a comment. move -O0 MergeFunctions after inlining add to LTO pipeline (matches legacy PM) Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D93002/new/ https://reviews.llvm.org/D93002

[PATCH] D92761: [clang][AArch64][SVE] Avoid going through memory for VLAT <-> VLST casts

2020-12-11 Thread Arthur Eubanks via Phabricator via cfe-commits
aeubanks resigned from this revision. aeubanks added a comment. I'm unfamiliar with this code Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D92761/new/ https://reviews.llvm.org/D92761 ___ cfe-commits

[PATCH] D93656: Moving UniqueInternalLinkageNamesPass to the start of IR pipelines.

2020-12-23 Thread Arthur Eubanks via Phabricator via cfe-commits
aeubanks added inline comments. Comment at: llvm/test/Transforms/UniqueLinkageNames/unique-internal-linkage-names.ll:20 + +!0 = distinct !DICompileUnit(language: DW_LANG_C99, file: !1, enums: !2) +!1 = !DIFile(filename: "test.c", directory: "") is the debug

[PATCH] D93656: Moving UniqueInternalLinkageNamesPass to the start of IR pipelines.

2020-12-23 Thread Arthur Eubanks via Phabricator via cfe-commits
aeubanks added inline comments. Comment at: clang/test/CodeGen/unique-internal-linkage-names.cpp:48-49 +// LPIPELINE: Unique Internal Linkage Names +// NPIPELINE: Running pass: UniqueInternalLinkageNamesPass // PLAIN: @_ZL4glob = internal global dblaikie

[PATCH] D93656: Moving UniqueInternalLinkageNamesPass to the start of IR pipelines.

2020-12-23 Thread Arthur Eubanks via Phabricator via cfe-commits
aeubanks added inline comments. Comment at: clang/test/CodeGen/unique-internal-linkage-names.cpp:48-49 +// LPIPELINE: Unique Internal Linkage Names +// NPIPELINE: Running pass: UniqueInternalLinkageNamesPass // PLAIN: @_ZL4glob = internal global hoy wrote: >

[PATCH] D93656: Moving UniqueInternalLinkageNamesPass to the start of IR pipelines.

2020-12-23 Thread Arthur Eubanks via Phabricator via cfe-commits
aeubanks added inline comments. Comment at: clang/test/CodeGen/unique-internal-linkage-names.cpp:48-49 +// LPIPELINE: Unique Internal Linkage Names +// NPIPELINE: Running pass: UniqueInternalLinkageNamesPass // PLAIN: @_ZL4glob = internal global dblaikie

[PATCH] D93656: Moving UniqueInternalLinkageNamesPass to the start of IR pipelines.

2020-12-22 Thread Arthur Eubanks via Phabricator via cfe-commits
aeubanks added a comment. In D93656#2468834 , @hoy wrote: > In D93656#2468821 , @aeubanks wrote: > >> Also it looks like this is doing 2 different things, the moving of things >> from Clang to LLVM's PassBuilder,

[PATCH] D93656: Moving UniqueInternalLinkageNamesPass to the start of IR pipelines.

2020-12-22 Thread Arthur Eubanks via Phabricator via cfe-commits
aeubanks added inline comments. Comment at: llvm/include/llvm/Passes/PassBuilder.h:140 bool DebugLogging; + bool UniqueLinkageNames; TargetMachine *TM; This seems better suited to be part of PipelineTuningOptions rather than directly in PassBuilder

[PATCH] D93656: Moving UniqueInternalLinkageNamesPass to the start of IR pipelines.

2020-12-22 Thread Arthur Eubanks via Phabricator via cfe-commits
aeubanks added a comment. Also it looks like this is doing 2 different things, the moving of things from Clang to LLVM's PassBuilder, and separately the change to the pass itself. Can these be separated? Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION

[PATCH] D93743: [NewPM] Run ObjC ARC passes

2020-12-22 Thread Arthur Eubanks via Phabricator via cfe-commits
aeubanks created this revision. aeubanks added reviewers: ahatanak, ychen. Herald added a subscriber: hiraditya. aeubanks requested review of this revision. Herald added projects: clang, LLVM. Herald added subscribers: llvm-commits, cfe-commits. Match the legacy PM in running various ObjC ARC

[PATCH] D93743: [NewPM] Run ObjC ARC passes

2020-12-22 Thread Arthur Eubanks via Phabricator via cfe-commits
aeubanks added a comment. I couldn't find any existing tests that these passes run under the legacy PM. Perhaps checking the output of -debug-pass-manager is enough for a test? Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D93743/new/

[PATCH] D92897: Make NPM OptBisectInstrumentation use global singleton OptBisect

2020-12-20 Thread Arthur Eubanks via Phabricator via cfe-commits
This revision was landed with ongoing or failed builds. This revision was automatically updated to reflect the committed changes. Closed by commit rG47dbee6790cb: Make NPM OptBisectInstrumentation use global singleton OptBisect (authored by swamulism, committed by aeubanks). Repository: rG

[PATCH] D89158: [NewPM] Provide method to run all pipeline callbacks, used for -O0

2020-11-09 Thread Arthur Eubanks via Phabricator via cfe-commits
aeubanks added a comment. Are there passes that should be running at -O0 that aren't target specific? Otherwise the callbacks should only add passes if the optimization level isn't -O0. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D89158/new/

[PATCH] D89158: [NewPM] Provide method to run all pipeline callbacks, used for -O0

2020-11-08 Thread Arthur Eubanks via Phabricator via cfe-commits
aeubanks reopened this revision. aeubanks added a comment. This revision is now accepted and ready to land. need to fix new-pass-manager.ll when polly is enabled Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D89158/new/

[PATCH] D89158: [NewPM] Provide method to run all pipeline callbacks, used for -O0

2020-11-07 Thread Arthur Eubanks via Phabricator via cfe-commits
aeubanks added a comment. Sorry about that, https://reviews.llvm.org/D91019 should fix it. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D89158/new/ https://reviews.llvm.org/D89158 ___ cfe-commits

[PATCH] D89158: [NewPM] Provide method to run all pipeline callbacks, used for -O0

2020-11-09 Thread Arthur Eubanks via Phabricator via cfe-commits
aeubanks added a comment. In D89158#2384337 , @Meinersbur wrote: > In D89158#2384156 , @aeubanks wrote: > >> Are there passes that should be running at -O0 that aren't target specific? >> Otherwise the callbacks

[PATCH] D89158: [NewPM] Provide method to run all pipeline callbacks, used for -O0

2020-11-09 Thread Arthur Eubanks via Phabricator via cfe-commits
aeubanks added a comment. With this change in its current state, it's ok to add callbacks, as long as they don't add passes at -O0. Polly adds some callbacks. When I first submitted this, polly would add some callbacks to VectorizerStartEPCallbacks. Those callbacks didn't actually add any

[PATCH] D89158: [NewPM] Provide method to run all pipeline callbacks, used for -O0

2020-11-11 Thread Arthur Eubanks via Phabricator via cfe-commits
aeubanks updated this revision to Diff 304617. aeubanks added a comment. fix tests when Bye plugin is present Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D89158/new/ https://reviews.llvm.org/D89158 Files: clang/lib/CodeGen/BackendUtil.cpp

[PATCH] D89158: [NewPM] Provide method to run all pipeline callbacks, used for -O0

2020-11-11 Thread Arthur Eubanks via Phabricator via cfe-commits
aeubanks added a comment. In D89158#2388991 , @Meinersbur wrote: > Could you try configuring LLVM with `-DLLVM_BYE_LINK_INTO_TOOLS=ON`? I assume > the test will break because it unconditionally adds a FunctionPass. Thanks, I wasn't aware of this. Looks

[PATCH] D91389: [MemProf][NewPM] Make memprof passes required

2020-11-12 Thread Arthur Eubanks via Phabricator via cfe-commits
aeubanks created this revision. aeubanks added reviewers: leonardchan, ychen, asbirlea. Herald added projects: clang, LLVM. Herald added subscribers: llvm-commits, cfe-commits. aeubanks requested review of this revision. Just like other sanitizers. Fixes check-memprof under NPM. Repository:

[PATCH] D90870: [NFC][NewPM] Reuse PassBuilder callbacks with -O0

2020-11-12 Thread Arthur Eubanks via Phabricator via cfe-commits
This revision was landed with ongoing or failed builds. This revision was automatically updated to reflect the committed changes. Closed by commit rG3a7b57b7cad3: [NFC][NewPM] Reuse PassBuilder callbacks with -O0 (authored by aeubanks). Repository: rG LLVM Github Monorepo CHANGES SINCE LAST

[PATCH] D91385: [DFSan][NewPM] Handle dfsan under NPM

2020-11-12 Thread Arthur Eubanks via Phabricator via cfe-commits
aeubanks created this revision. aeubanks added reviewers: ychen, leonardchan, asbirlea. Herald added a project: clang. Herald added a subscriber: cfe-commits. aeubanks requested review of this revision. 14/16 check-dfsan tests failed with NPM enabled, now all pass. Repository: rG LLVM Github

[PATCH] D91385: [DFSan][NewPM] Handle dfsan under NPM

2020-11-12 Thread Arthur Eubanks via Phabricator via cfe-commits
aeubanks updated this revision to Diff 304967. aeubanks added a comment. Herald added a project: LLVM. Herald added a subscriber: llvm-commits. make it required, update tests to also use opt-bisect Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION

[PATCH] D89158: [NewPM] Provide method to run all pipeline callbacks, used for -O0

2020-11-11 Thread Arthur Eubanks via Phabricator via cfe-commits
This revision was landed with ongoing or failed builds. This revision was automatically updated to reflect the committed changes. Closed by commit rGb6ccff3d5f3b: [NewPM] Provide method to run all pipeline callbacks, used for -O0 (authored by aeubanks). Repository: rG LLVM Github Monorepo

[PATCH] D89158: [NewPM] Provide method to run all pipeline callbacks, used for -O0

2020-11-11 Thread Arthur Eubanks via Phabricator via cfe-commits
aeubanks updated this revision to Diff 304657. aeubanks added a comment. forgot to amend commit with test updates Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D89158/new/ https://reviews.llvm.org/D89158 Files: clang/lib/CodeGen/BackendUtil.cpp

[PATCH] D91385: [DFSan][NewPM] Handle dfsan under NPM

2020-11-13 Thread Arthur Eubanks via Phabricator via cfe-commits
This revision was landed with ongoing or failed builds. This revision was automatically updated to reflect the committed changes. Closed by commit rG6e098189db7d: [DFSan][NewPM] Handle dfsan under NPM (authored by aeubanks). Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION

[PATCH] D87956: [IR] add fn attr for no_stack_protector; prevent inlining on mismatch

2020-11-14 Thread Arthur Eubanks via Phabricator via cfe-commits
aeubanks added inline comments. Comment at: llvm/test/Transforms/Inline/inline_nossp.ll:3 +; RUN: opt -passes='cgscc(inline)' %s -S | FileCheck %s +; RUN: opt -always-inline -o - -S %s | FileCheck %s + This test fails with the NPM, `opt -passes=always-inline

[PATCH] D91389: [MemProf][NewPM] Make memprof passes required

2020-11-13 Thread Arthur Eubanks via Phabricator via cfe-commits
This revision was landed with ongoing or failed builds. This revision was automatically updated to reflect the committed changes. Closed by commit rG52f05fb2c2c3: [MemProf][NewPM] Make memprof passes required (authored by aeubanks). Changed prior to commit:

[PATCH] D87956: [IR] add fn attr for no_stack_protector; prevent inlining on mismatch

2020-11-16 Thread Arthur Eubanks via Phabricator via cfe-commits
aeubanks added inline comments. Comment at: llvm/test/Transforms/Inline/inline_nossp.ll:3 +; RUN: opt -passes='cgscc(inline)' %s -S | FileCheck %s +; RUN: opt -always-inline -o - -S %s | FileCheck %s + nickdesaulniers wrote: > aeubanks wrote: > > This test fails

[PATCH] D91585: [NPM] Move more O0 pass building into PassBuilder

2020-11-19 Thread Arthur Eubanks via Phabricator via cfe-commits
aeubanks updated this revision to Diff 306448. aeubanks added a comment. check 'thinlto-pre-link'/'lto-pre-link' explicitly add test Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D91585/new/ https://reviews.llvm.org/D91585 Files:

[PATCH] D91585: [NPM] Move more O0 pass building into PassBuilder

2020-11-19 Thread Arthur Eubanks via Phabricator via cfe-commits
aeubanks marked an inline comment as done. aeubanks added inline comments. Comment at: llvm/lib/Passes/PassBuilder.cpp:2365 + // Don't do anything for (thin)lto backend compiles at O0. + if (Matches[1] != "thinlto" && Matches[1] != "lto") +

[PATCH] D91585: [NPM] Move more O0 pass building into PassBuilder

2020-11-19 Thread Arthur Eubanks via Phabricator via cfe-commits
aeubanks updated this revision to Diff 306473. aeubanks added a comment. change strings to check for Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D91585/new/ https://reviews.llvm.org/D91585 Files: clang/lib/CodeGen/BackendUtil.cpp

[PATCH] D91585: [NPM] Move more O0 pass building into PassBuilder

2020-11-19 Thread Arthur Eubanks via Phabricator via cfe-commits
This revision was landed with ongoing or failed builds. This revision was automatically updated to reflect the committed changes. Closed by commit rG72badbcdccd1: [NPM] Move more O0 pass building into PassBuilder (authored by aeubanks). Repository: rG LLVM Github Monorepo CHANGES SINCE LAST

[PATCH] D91567: [llvm][inliner] Reuse the inliner pass to implement 'always inliner'

2020-11-18 Thread Arthur Eubanks via Phabricator via cfe-commits
aeubanks added a comment. >> I'll run this through llvm-compile-time-tracker to see what the compile time >> implications are. > > You mean for the variant where we ran some of the function passes, or you'd > try running all of them? Probably the latter would be quite interesting as a > 'worst

[PATCH] D91567: [llvm][inliner] Reuse the inliner pass to implement 'always inliner'

2020-11-18 Thread Arthur Eubanks via Phabricator via cfe-commits
aeubanks added a comment. In D91567#2400699 , @mtrofin wrote: > In D91567#2400207 , @aeubanks wrote: > >> What about removing the existing AlwaysInlinerPass and replacing it with >> this one? Or is that something

[PATCH] D91567: [llvm][inliner] Reuse the inliner pass to implement 'always inliner'

2020-11-18 Thread Arthur Eubanks via Phabricator via cfe-commits
aeubanks added a comment. One thing that would be nice would be to have both inliners in the same CGSCC pass manager to avoid doing SCC construction twice, but that would require some shuffling of module/cgscc passes in ModuleInlinerWrapperPass. Maybe as a future cleanup. Repository: rG

[PATCH] D91567: [llvm][inliner] Reuse the inliner pass to implement 'always inliner'

2020-11-18 Thread Arthur Eubanks via Phabricator via cfe-commits
aeubanks added a comment. In D91567#2403252 , @mtrofin wrote: > In D91567#2403236 , @aeubanks wrote: > >> One thing that would be nice would be to have both inliners in the same >> CGSCC pass manager to avoid

[PATCH] D91743: [NPM] Remove -enable-npm-optnone flag

2020-11-18 Thread Arthur Eubanks via Phabricator via cfe-commits
aeubanks created this revision. aeubanks added reviewers: asbirlea, ychen. Herald added subscribers: llvm-commits, cfe-commits, jfb, hiraditya. Herald added projects: clang, LLVM. aeubanks requested review of this revision. It has been on by default for a couple months without complaint.

[PATCH] D91743: [NPM] Remove -enable-npm-optnone flag

2020-11-18 Thread Arthur Eubanks via Phabricator via cfe-commits
This revision was landed with ongoing or failed builds. This revision was automatically updated to reflect the committed changes. Closed by commit rG67f16e9e91f2: [NPM] Remove -enable-npm-optnone flag (authored by aeubanks). Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION

[PATCH] D87216: [NewPM] Support --print-before/after in NPM

2020-11-18 Thread Arthur Eubanks via Phabricator via cfe-commits
aeubanks updated this revision to Diff 306307. aeubanks added a comment. rebase now we don't add a new parameter to callbacks, instead let individual instrumentations ask PassInstrumentationCallbacks for pass names Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION

[PATCH] D87216: [NewPM] Support --print-before/after in NPM

2020-11-18 Thread Arthur Eubanks via Phabricator via cfe-commits
aeubanks added a comment. In D87216#2356770 , @jamieschmeiser wrote: > The changes are specific to -print-before and -print-after (which is the > intended target and this work originated before -print-changed) but could the > change be made universal?

[PATCH] D91585: [NPM] Move more O0 pass building into PassBuilder

2020-11-16 Thread Arthur Eubanks via Phabricator via cfe-commits
aeubanks created this revision. aeubanks added reviewers: ychen, asbirlea, tejohnson. Herald added subscribers: llvm-commits, cfe-commits, wenlei, lxfind, steven_wu, modocache, JDevlieghere, hiraditya. Herald added projects: clang, LLVM. aeubanks requested review of this revision. This moves

[PATCH] D91567: [llvm][inliner] Reuse the inliner pass to implement 'always inliner'

2020-11-17 Thread Arthur Eubanks via Phabricator via cfe-commits
aeubanks added a comment. What about removing the existing AlwaysInlinerPass and replacing it with this one? Or is that something you were planning to do in a follow-up change? > open the opportunity to help the full inliner by performing additional > function passes after the mandatory

[PATCH] D91585: [NPM] Move more O0 pass building into PassBuilder

2020-11-17 Thread Arthur Eubanks via Phabricator via cfe-commits
aeubanks planned changes to this revision. aeubanks added inline comments. Comment at: llvm/lib/Passes/PassBuilder.cpp:2365 + // Don't do anything for (thin)lto backend compiles at O0. + if (Matches[1] != "thinlto" && Matches[1] != "lto") +

[PATCH] D91585: [NPM] Move more O0 pass building into PassBuilder

2020-11-17 Thread Arthur Eubanks via Phabricator via cfe-commits
aeubanks updated this revision to Diff 305900. aeubanks added a comment. make build(Thin)LTODefaultPipeline handle O0 Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D91585/new/ https://reviews.llvm.org/D91585 Files:

[PATCH] D91585: [NPM] Move more O0 pass building into PassBuilder

2020-11-17 Thread Arthur Eubanks via Phabricator via cfe-commits
aeubanks added inline comments. Comment at: llvm/lib/Passes/PassBuilder.cpp:2365 + // Don't do anything for (thin)lto backend compiles at O0. + if (Matches[1] != "thinlto" && Matches[1] != "lto") +MPM.addPass(buildO0DefaultPipeline(L, Matches[1] != "default"));

[PATCH] D89158: [NewPM] Provide method to run all pipeline callbacks, used for -O0

2020-11-08 Thread Arthur Eubanks via Phabricator via cfe-commits
aeubanks updated this revision to Diff 303737. aeubanks added a comment. Herald added a subscriber: dexonsmith. check if pass manager is empty before adding Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D89158/new/ https://reviews.llvm.org/D89158

[PATCH] D89158: [NewPM] Run callbacks added via registerPipelineStartEPCallback under -O0

2020-10-30 Thread Arthur Eubanks via Phabricator via cfe-commits
aeubanks updated this revision to Diff 301937. aeubanks retitled this revision from "[NewPM] Run callbacks added via registerPipelineStartEPCallback under -O0 " to "[NewPM] Run callbacks added via registerPipelineStartEPCallback under -O0". aeubanks added a comment. revert back to running all

[PATCH] D90486: [NewPM] Add OptimizationLevel param to TargetMachine::registerPassBuilderCallbacks()

2020-10-30 Thread Arthur Eubanks via Phabricator via cfe-commits
aeubanks created this revision. Herald added subscribers: llvm-commits, cfe-commits, steven_wu, hiraditya, tpr, mgorny. Herald added a reviewer: bollu. Herald added projects: clang, LLVM. aeubanks requested review of this revision. To prevent targets from adding optional passes for -O0,

[PATCH] D90437: [NFC] Clean up PassBuilder

2020-10-30 Thread Arthur Eubanks via Phabricator via cfe-commits
This revision was landed with ongoing or failed builds. This revision was automatically updated to reflect the committed changes. Closed by commit rG2e31727a884a: [NFC] Clean up PassBuilder (authored by aeubanks). Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION

[PATCH] D89158: [NewPM] Provide method to run all pipeline callbacks, used for -O0

2020-10-30 Thread Arthur Eubanks via Phabricator via cfe-commits
aeubanks added a comment. https://reviews.llvm.org/D90486 for adding OptimizationLevel to registerPassBuilderCallbacks(), although this one should land first since that one needs to update PassBuilder::runRegisteredEPCallbacks() to call TargetMachine::registerPassBuilderCallbacks()

[PATCH] D88609: Use uint64_t for branch weights instead of uint32_t

2020-10-31 Thread Arthur Eubanks via Phabricator via cfe-commits
aeubanks added a comment. The stack trace helped me come up with my own repro, reverting. It's more uint64_t overflow issues. This might be the reason branch_weights were initially i32 with casts in a bunch of places around LLVM. Not sure if I should try and fix all usages or just keep

[PATCH] D90486: [NewPM] Add OptimizationLevel param to TargetMachine::registerPassBuilderCallbacks()

2020-11-04 Thread Arthur Eubanks via Phabricator via cfe-commits
aeubanks added inline comments. Comment at: llvm/lib/Target/BPF/BPFTargetMachine.cpp:129 bool DebugPassManager) { PB.registerPipelineStartEPCallback([=](ModulePassManager ) { FunctionPassManager FPM(DebugPassManager);

[PATCH] D89158: [NewPM] Provide method to run all pipeline callbacks, used for -O0

2020-11-04 Thread Arthur Eubanks via Phabricator via cfe-commits
This revision was landed with ongoing or failed builds. This revision was automatically updated to reflect the committed changes. Closed by commit rGae3854004266: [NewPM] Provide method to run all pipeline callbacks, used for -O0 (authored by aeubanks). Changed prior to commit:

[PATCH] D90870: [NFC][NewPM] Reuse PassBuilder callbacks with -O0

2020-11-05 Thread Arthur Eubanks via Phabricator via cfe-commits
aeubanks created this revision. Herald added a project: clang. Herald added a subscriber: cfe-commits. aeubanks requested review of this revision. This removes lots of duplicated code which was necessary before https://reviews.llvm.org/D89158. Mostly sanitizer stuff. Repository: rG LLVM

[PATCH] D90870: [NFC][NewPM] Reuse PassBuilder callbacks with -O0

2020-11-05 Thread Arthur Eubanks via Phabricator via cfe-commits
aeubanks updated this revision to Diff 303207. aeubanks added a comment. small cleanups Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D90870/new/ https://reviews.llvm.org/D90870 Files: clang/lib/CodeGen/BackendUtil.cpp Index:

[PATCH] D89158: [NewPM] Run callbacks added via registerPipelineStartEPCallback under -O0

2020-10-29 Thread Arthur Eubanks via Phabricator via cfe-commits
aeubanks added a comment. Looking at BackendUtil.cpp in Clang as well as the Rust code, I'm back to thinking that we should provide a way to to all callbacks. Then in the case of passes added via TargetMachine, we should extend `TargetMachine::registerPassBuilderCallbacks` to also take a

[PATCH] D90437: [NFC] Clean up PassBuilder

2020-10-29 Thread Arthur Eubanks via Phabricator via cfe-commits
aeubanks created this revision. aeubanks added reviewers: ychen, asbirlea. Herald added subscribers: llvm-commits, cfe-commits, steven_wu, hiraditya. Herald added projects: clang, LLVM. aeubanks requested review of this revision. Make DebugLogging a member variable so that users of PassBuilder

[PATCH] D89158: [NewPM] Run callbacks added via registerPipelineStartEPCallback under -O0

2020-10-29 Thread Arthur Eubanks via Phabricator via cfe-commits
aeubanks added a comment. I'm more convinced now that my initial direction was the cleanest way. It would simplify users of `PassBuilder` quite a bit. I don't want to include PassManager.h into TargetMachine.h just to get `PassBuilder::OptimizationLevel`, so either we could factor out

[PATCH] D93656: Moving UniqueInternalLinkageNamesPass to the start of IR pipelines.

2020-12-28 Thread Arthur Eubanks via Phabricator via cfe-commits
aeubanks accepted this revision. aeubanks added a comment. This revision is now accepted and ready to land. LGTM with nit, but somebody else more familiar with this should LGTM to make sure this makes sense Comment at:

<    1   2   3   4   5   6   7   8   >