[PATCH] D96456: [ThinLTO, NewPM] Add Config::OptPassBuilderHook
    Arthur Eubanks via Phabricator via llvm-commits 
    llvm-commits at lists.llvm.org
       
    Wed Feb 10 21:26:39 PST 2021
    
    
  
aeubanks added a comment.
This makes sense to me, we need to add the PassBuilder callbacks in both the prelink/normal and postlink steps, and those are separated.
================
Comment at: llvm/include/llvm/LTO/Config.h:54
+  /// For adding passes that run by opt.
+  std::function<void(PassBuilder &)> OptPassBuilderHook;
   Optional<Reloc::Model> RelocModel = Reloc::PIC_;
----------------
tejohnson wrote:
> Is this essentially the new PM equivalent to PreCodeGenPassesHook above (since this new hook runs at the end of opt)?
> Also, might be good to name this like OptimizerLastPassBuilderHook or something like that to indicate its position within the opt pipeline.
I think the idea is that this callback adds PassBuilder callbacks in various parts of the the pipeline. Perhaps just `PassBuilderHook`? It's weird that we only allow one, but I guess we can make it a vector in the future if necessary.
================
Comment at: llvm/lib/LTO/LTOBackend.cpp:327-328
 
+  if (Conf.OptPassBuilderHook)
+    Conf.OptPassBuilderHook(PB);
+
----------------
this should go in `runNewPMPasses()`, not `runNewPMCustomPasses()`.
Repository:
  rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D96456/new/
https://reviews.llvm.org/D96456
    
    
More information about the llvm-commits
mailing list