[PATCH] D152081: [Attributor] Add lightweight version for attribute deduction only. (WIP)

Nikita Popov via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Sat Jun 3 13:35:53 PDT 2023


nikic added inline comments.


================
Comment at: llvm/lib/Passes/PassBuilderPipelines.cpp:908
   // function.
-  MainCGPipeline.addPass(PostOrderFunctionAttrsPass());
+  MainCGPipeline.addPass(PostOrderFunctionAttrsPass(/*SkipNonRecursive*/ true));
 
----------------
This doesn't look right. You're effectively disabling most attribute inference here.


================
Comment at: llvm/lib/Passes/PassBuilderPipelines.cpp:1297
+  else
+    MPM.addPass(ReversePostOrderFunctionAttrsPass());
 
----------------
Note that what you're replacing here is the late module RPO inference pass, which only infers `norecurse`. All other attributes are inferred by the CGSCC pass. Doing the inference here is too late (at least for non-LTO scenarios), we need this to happen as part of the CGSCC pipeline.


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D152081



More information about the llvm-commits mailing list