浏览代码

[PostRAMachineSink] preserve CFG

Summary: Mark CFG is preserved  since this pass do not make any change in CFG.

Reviewers: sebpop, mzolotukhin, mcrosier

Reviewed By: mzolotukhin

Subscribers: llvm-commits

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

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@328727 91177308-0d34-0410-b5e6-96231b3b80d8
Jun Bum Lim 7 年之前
父节点
当前提交
e6597a2a88
共有 2 个文件被更改,包括 5 次插入2 次删除
  1. 5 0
      lib/CodeGen/MachineSink.cpp
  2. 0 2
      test/CodeGen/X86/O3-pipeline.ll

+ 5 - 0
lib/CodeGen/MachineSink.cpp

@@ -948,6 +948,11 @@ public:
   PostRAMachineSinking() : MachineFunctionPass(ID) {}
   StringRef getPassName() const override { return "PostRA Machine Sink"; }
 
+  void getAnalysisUsage(AnalysisUsage &AU) const override {
+    AU.setPreservesCFG();
+    MachineFunctionPass::getAnalysisUsage(AU);
+  }
+
 private:
   /// Track which registers have been modified and used.
   BitVector ModifiedRegs, UsedRegs;

+ 0 - 2
test/CodeGen/X86/O3-pipeline.ll

@@ -120,8 +120,6 @@
 ; CHECK-NEXT:       Bundle Machine CFG Edges
 ; CHECK-NEXT:       X86 FP Stackifier
 ; 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:       Shrink Wrapping analysis