[Statepoint] Mark FixupStatepointCallerSaved as preserving the CFG
authorCraig Topper <craig.topper@intel.com>
Wed, 13 May 2020 17:29:04 +0000 (10:29 -0700)
committerCraig Topper <craig.topper@intel.com>
Wed, 13 May 2020 17:59:44 +0000 (10:59 -0700)
I'm hoping this will restore some compile time lost by D75936 and D75937.

Differential Revision: https://reviews.llvm.org/D79813

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

index 8a4877e..0c8d521 100644 (file)
@@ -57,6 +57,7 @@ public:
   }
 
   void getAnalysisUsage(AnalysisUsage &AU) const override {
+    AU.setPreservesCFG();
     MachineFunctionPass::getAnalysisUsage(AU);
   }
 
index 1f5e22e..adc2257 100644 (file)
 ; 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 dd43ccb..3d2ea73 100644 (file)
 ; 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