hans added inline comments.

================
Comment at: llvm/lib/Transforms/IPO/PassManagerBuilder.cpp:170
 
 PassManagerBuilder::PassManagerBuilder() {
     OptLevel = 2;
----------------
Oh, just noticed: I think CallGraphProfile should be initialized along with the 
other flags here.


================
Comment at: llvm/test/Other/opt-O2-pipeline.ll:289
+; CHECK-NEXT:         Branch Probability Analysis
+; CHECK-NEXT:         Block Frequency Analysis
 ; CHECK-NEXT:     FunctionPass Manager
----------------
nikic wrote:
> Is it possible to switch this pass to use LazyBPI / LazyBFA, only fetched if 
> PGO is actually in use?
> 
> PGO functionality that most people don't use adding expensive analysis passes 
> like PDT should be avoided.
I wonder if just switching to LazyBlockFrequencyInfo would help though. It 
looks to me like the CGProfile would request info about each function anyway.

I was surprised to see that Clang sets Opts.CallGraphProfile solely based on 
whether the integrated assembler is used. Maybe a better fix is to only set 
that to true when a profile is actually being used?


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D83013/new/

https://reviews.llvm.org/D83013



_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to