Davide Italiano via llvm-dev
2017-Sep-05 19:53 UTC
[llvm-dev] Where to find the list of passes run by clang/opt with -O3
On Tue, Sep 5, 2017 at 12:51 PM, Davide Italiano <davide at freebsd.org> wrote:> > > > On Tue, Sep 5, 2017 at 8:16 AM, Nitish Srivastava via llvm-dev <llvm-dev at lists.llvm.org> wrote: >> >> Hi, >> >> I am trying to locate the passes run by clang/opt when it is passed the option -O3. Can someone point me where to look at? Eventually, I want to turn off just the LoopStrengthReduction pass in the -O3 set of default passes. >>Also, the easiest hack to turn off LSR is that of probably just commenting out the line that adds the pass in PassManagerBuilder.cpp. If you use `opt` + the new pass manager there's a flag for testing to specify a custom pipeline, but that will be more work. -- Davide "There are no solved problems; there are only problems that are more or less solved" -- Henri Poincare
Martin J. O'Riordan via llvm-dev
2017-Sep-05 20:24 UTC
[llvm-dev] Where to find the list of passes run by clang/opt with -O3
I had asked a similar question earlier this year regarding which passes are involved at a particular optimisation level (lists.llvm.org/pipermail/llvm-dev/2017-June/114543.html), and the most helpful suggestion I received was to invoke the compiler with the following options: -O3 -mllvm -debug-pass=Structure So I ran the compiler with each of '-O0' .. '-O3' to get the answer I was looking for. I don't know how to generally disable a particular pass from the command line with LLVM v4.0, but the pass you want to disable identifies itself as: Loop Strength Reduction and can be disabled with the option (see 'lib/CodeGen/TargetPassConfig.cpp'): -mllvm -disable-lsr I haven't yet started working with LLVM v5.0 and the new pass manager though so this may already be an obsolete suggestion. All the best, MartinO -----Original Message----- From: llvm-dev [mailto:llvm-dev-bounces at lists.llvm.org] On Behalf Of Davide Italiano via llvm-dev Sent: 05 September 2017 20:54 To: Nitish Srivastava <nks45 at cornell.edu> Cc: llvm-dev <llvm-dev at lists.llvm.org> Subject: Re: [llvm-dev] Where to find the list of passes run by clang/opt with -O3 On Tue, Sep 5, 2017 at 12:51 PM, Davide Italiano <davide at freebsd.org> wrote:> > > > On Tue, Sep 5, 2017 at 8:16 AM, Nitish Srivastava via llvm-dev <llvm-dev at lists.llvm.org> wrote: >> >> Hi, >> >> I am trying to locate the passes run by clang/opt when it is passed the option -O3. Can someone point me where to look at? Eventually, I want to turn off just the LoopStrengthReduction pass in the -O3 set of default passes. >>Also, the easiest hack to turn off LSR is that of probably just commenting out the line that adds the pass in PassManagerBuilder.cpp. If you use `opt` + the new pass manager there's a flag for testing to specify a custom pipeline, but that will be more work. -- Davide "There are no solved problems; there are only problems that are more or less solved" -- Henri Poincare _______________________________________________ LLVM Developers mailing list llvm-dev at lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev
Nitish Srivastava via llvm-dev
2017-Sep-07 14:20 UTC
[llvm-dev] Where to find the list of passes run by clang/opt with -O3
Hi Martin, Thanks for the help. -mllvm -disable-lsr worked for me. Thanks a lot! Best Regards, Nitish On Tue, Sep 5, 2017 at 4:24 PM, Martin J. O'Riordan <MartinO at theheart.ie> wrote:> I had asked a similar question earlier this year regarding which passes > are involved at a particular optimisation level (lists.llvm.org/pipermail/ > llvm-dev/2017-June/114543.html), and the most helpful suggestion I > received was to invoke the compiler with the following options: > > -O3 -mllvm -debug-pass=Structure > > So I ran the compiler with each of '-O0' .. '-O3' to get the answer I was > looking for. > > I don't know how to generally disable a particular pass from the command > line with LLVM v4.0, but the pass you want to disable identifies itself as: > > Loop Strength Reduction > > and can be disabled with the option (see 'lib/CodeGen/TargetPassConfig. > cpp'): > > -mllvm -disable-lsr > > I haven't yet started working with LLVM v5.0 and the new pass manager > though so this may already be an obsolete suggestion. > > All the best, > > MartinO > > -----Original Message----- > From: llvm-dev [mailto:llvm-dev-bounces at lists.llvm.org] On Behalf Of > Davide Italiano via llvm-dev > Sent: 05 September 2017 20:54 > To: Nitish Srivastava <nks45 at cornell.edu> > Cc: llvm-dev <llvm-dev at lists.llvm.org> > Subject: Re: [llvm-dev] Where to find the list of passes run by clang/opt > with -O3 > > On Tue, Sep 5, 2017 at 12:51 PM, Davide Italiano <davide at freebsd.org> > wrote: > > > > > > > > On Tue, Sep 5, 2017 at 8:16 AM, Nitish Srivastava via llvm-dev < > llvm-dev at lists.llvm.org> wrote: > >> > >> Hi, > >> > >> I am trying to locate the passes run by clang/opt when it is passed > the option -O3. Can someone point me where to look at? Eventually, I want > to turn off just the LoopStrengthReduction pass in the -O3 set of default > passes. > >> > > Also, the easiest hack to turn off LSR is that of probably just commenting > out the line that adds the pass in PassManagerBuilder.cpp. > If you use `opt` + the new pass manager there's a flag for testing to > specify a custom pipeline, but that will be more work. > > > -- > Davide > > "There are no solved problems; there are only problems that are more or > less solved" -- Henri Poincare ______________________________ > _________________ > LLVM Developers mailing list > llvm-dev at lists.llvm.org > http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev > >-------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20170907/822d27d8/attachment.html>