[PATCH] D152104: [LightAttributor] Run only as CGSCCPass.

Florian Hahn via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Sun Jun 4 12:53:32 PDT 2023


fhahn marked 2 inline comments as done.
fhahn added inline comments.


================
Comment at: llvm/lib/Passes/PassBuilderPipelines.cpp:260
 
+static cl::opt<bool> UseLightAttributor("enable-light-attributor",
+                                        cl::init(true), cl::Hidden,
----------------
arsenm wrote:
> Can you combine this with the attributor-enable flag? I dislike having various overlapping pass control flags 
Will do I was hoping for more promising compile-time data to have  clear path towards enabling it for attribute inference, but at the moment the data doesn't look very promising unfortunately 


================
Comment at: llvm/lib/Passes/PassBuilderPipelines.cpp:887
+  if (UseLightAttributor)
+    MainCGPipeline.addPass(LightweightAttributorCGSCCPass());
+  else
----------------
nikic wrote:
> Supporting the SkipNonRecursive flag should improve compile-time a good bit. We only need to infer attributes at this pipeline position for non-trivial SCCs.
When we use `PostOrderFunctionAttrsPass(/*SkipNonRecursive*/ true)` and `LightweightAttributorCGSCCPass` only at the other position, there's  unfortunately still a ~2% regression: https://llvm-compile-time-tracker.com/compare.php?from=3a458256ee22a0e7c31529de42fa6caa263d88fe&to=3e8ea897fa2533f52488b7ceab27f6b0d91599dc&stat=instructions%3Au


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D152104



More information about the llvm-commits mailing list