[PATCH] D79813: [Statepoint] Mark FixupStatepointCallerSaved as preserving the CFG

Craig Topper via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Tue May 12 15:37:40 PDT 2020


craig.topper created this revision.
craig.topper added reviewers: skatkov, nikic.
Herald added a subscriber: hiraditya.
Herald added a project: LLVM.

I can't find anything obvious in this pass that invalidates the CFG. So mark it as preserving so we stop rerunning some analysis passes.

I'm hoping this will restore some compile time lost by D75936 <https://reviews.llvm.org/D75936> and D75937 <https://reviews.llvm.org/D75937>.


https://reviews.llvm.org/D79813

Files:
  llvm/lib/CodeGen/FixupStatepointCallerSaved.cpp
  llvm/test/CodeGen/ARM/O3-pipeline.ll
  llvm/test/CodeGen/X86/O3-pipeline.ll


Index: llvm/test/CodeGen/X86/O3-pipeline.ll
===================================================================
--- llvm/test/CodeGen/X86/O3-pipeline.ll
+++ llvm/test/CodeGen/X86/O3-pipeline.ll
@@ -146,8 +146,6 @@
 ; CHECK-NEXT:       X86 Load Value Injection (LVI) Load Hardening
 ; CHECK-NEXT:       Fixup Statepoint Caller Saved
 ; CHECK-NEXT:       PostRA Machine Sink
-; CHECK-NEXT:       MachineDominator Tree Construction
-; CHECK-NEXT:       Machine Natural Loop Construction
 ; CHECK-NEXT:       Machine Block Frequency Analysis
 ; CHECK-NEXT:       MachinePostDominator Tree Construction
 ; CHECK-NEXT:       Lazy Machine Block Frequency Analysis
Index: llvm/test/CodeGen/ARM/O3-pipeline.ll
===================================================================
--- llvm/test/CodeGen/ARM/O3-pipeline.ll
+++ llvm/test/CodeGen/ARM/O3-pipeline.ll
@@ -128,9 +128,8 @@
 ; CHECK-NEXT:      Machine Loop Invariant Code Motion
 ; CHECK-NEXT:      Fixup Statepoint Caller Saved
 ; CHECK-NEXT:      PostRA Machine Sink
-; CHECK-NEXT:      MachineDominator Tree Construction
-; CHECK-NEXT:      Machine Natural Loop Construction
 ; CHECK-NEXT:      Machine Block Frequency Analysis
+; CHECK-NEXT:      MachineDominator Tree Construction
 ; CHECK-NEXT:      MachinePostDominator Tree Construction
 ; CHECK-NEXT:      Lazy Machine Block Frequency Analysis
 ; CHECK-NEXT:      Machine Optimization Remark Emitter
Index: llvm/lib/CodeGen/FixupStatepointCallerSaved.cpp
===================================================================
--- llvm/lib/CodeGen/FixupStatepointCallerSaved.cpp
+++ llvm/lib/CodeGen/FixupStatepointCallerSaved.cpp
@@ -57,6 +57,7 @@
   }
 
   void getAnalysisUsage(AnalysisUsage &AU) const override {
+    AU.setPreservesCFG();
     MachineFunctionPass::getAnalysisUsage(AU);
   }
 


-------------- next part --------------
A non-text attachment was scrubbed...
Name: D79813.263529.patch
Type: text/x-patch
Size: 1801 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20200512/8678c0c9/attachment-0001.bin>


More information about the llvm-commits mailing list