Matt Arsenault via llvm-dev
2020-Jul-15 13:57 UTC
[llvm-dev] [RFC] Introducing classes for the codegen driven by new pass manager
> On Jul 15, 2020, at 09:16, Robinson, Paul via llvm-dev <llvm-dev at lists.llvm.org> wrote: > >> I'd just note that not every pass you can run with "opt" is actually part of the optimization pipeline. There are a few important IR-level passes that only run in the codegen pipeline, but are still nameable with opt to run individually for testing purposes. Switching over doesn't need to block on these passes being migrated. So I'm not sure this method of determining progress towards switching to NPM actually makes sense. > > FTR, there are IR-level passes that only run in the codegen pipeline, > and are *not* available in opt, but are available in llc; for example > the stack protector pass. Just throwing that out there. > --paulrI would consider these to be bugs. These passes tend to be poorly tested and don’t have nice single pass tests -Matt
Chen, Yuanfang via llvm-dev
2020-Jul-15 16:28 UTC
[llvm-dev] [RFC] Introducing classes for the codegen driven by new pass manager
In codegen with NPM, I've made all codegen passes (IR or MIR pass) to be only driven by `llc`. Both due to the way NPM registering pass (on-demand&dynamic instead of static initialization in Legacy PM), and reduce the confusion about which tool (`llc` or `opt`) to test codegen IR passes. ________________________________________ From: llvm-dev <llvm-dev-bounces at lists.llvm.org> on behalf of Matt Arsenault via llvm-dev <llvm-dev at lists.llvm.org> Sent: Wednesday, July 15, 2020 6:57 AM To: Robinson, Paul Cc: llvm-dev at lists.llvm.org Subject: Re: [llvm-dev] [RFC] Introducing classes for the codegen driven by new pass manager> On Jul 15, 2020, at 09:16, Robinson, Paul via llvm-dev <llvm-dev at lists.llvm.org> wrote: > >> I'd just note that not every pass you can run with "opt" is actually part of the optimization pipeline. There are a few important IR-level passes that only run in the codegen pipeline, but are still nameable with opt to run individually for testing purposes. Switching over doesn't need to block on these passes being migrated. So I'm not sure this method of determining progress towards switching to NPM actually makes sense. > > FTR, there are IR-level passes that only run in the codegen pipeline, > and are *not* available in opt, but are available in llc; for example > the stack protector pass. Just throwing that out there. > --paulrI would consider these to be bugs. These passes tend to be poorly tested and don’t have nice single pass tests -Matt _______________________________________________ LLVM Developers mailing list llvm-dev at lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev
Matt Arsenault via llvm-dev
2020-Jul-15 16:31 UTC
[llvm-dev] [RFC] Introducing classes for the codegen driven by new pass manager
> On Jul 15, 2020, at 12:28, Chen, Yuanfang <Yuanfang.Chen at sony.com> wrote: > > In codegen with NPM, I've made all codegen passes (IR or MIR pass) to be only driven by `llc`. Both due to the way NPM registering pass (on-demand&dynamic instead of static initialization in Legacy PM), and reduce the confusion about which tool (`llc` or `opt`) to test codegen IR passes. >I think there’s no real distinction between “codegen” IR passes and noncodegen IR passes. I routinely run “codegen only” passes with opt in conjunction with other passes when experimenting. I think losing the ability to run any IR pass with opt would be a functionality regression. -Matt