[PATCH] D120000: [1/2] TLS loads opimization (hoist)
    Xiang Zhang via Phabricator via llvm-commits 
    llvm-commits at lists.llvm.org
       
    Mon Feb 21 18:47:21 PST 2022
    
    
  
xiangzhangllvm marked 20 inline comments as done.
xiangzhangllvm added inline comments.
================
Comment at: llvm/lib/Transforms/Scalar/TLSVariableControl.cpp:115
+  void getAnalysisUsage(AnalysisUsage &AU) const override {
+    AU.setPreservesCFG();
+    AU.addRequired<DominatorTreeWrapperPass>();
----------------
xiangzhangllvm wrote:
> pengfei wrote:
> > setPreservesAll?
> the Pass is very near ISel, I think no need to preserves all.
The pass will change the code "move GV ahead", so let's just preserve CFG here.
================
Comment at: llvm/lib/Transforms/Scalar/TLSVariableControl.cpp:294-296
+  PreservedAnalyses PA;
+  PA.preserveSet<CFGAnalyses>();
+  return PA;
----------------
xiangzhangllvm wrote:
> pengfei wrote:
> > Do we break any analyse info? Can we return `PreservedAnalyses::all()`?
> This pass is very later at Scalar optmization. I think we no need to preserve all. Let me carefully re-consider here, thanks!
The pass may change the code "move GV ahead", so let's just preserve CFG here.
CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D120000/new/
https://reviews.llvm.org/D120000
    
    
More information about the llvm-commits
mailing list