turns out, demotion and invokes and critical edges don't mix
authorAndrew Lenharth <andrewl@lenharth.org>
Tue, 22 Nov 2005 21:45:19 +0000 (21:45 +0000)
committerAndrew Lenharth <andrewl@lenharth.org>
Tue, 22 Nov 2005 21:45:19 +0000 (21:45 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24487 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Transforms/Scalar/Reg2Mem.cpp

index b04c362a25d49cc23bc824d7fd9f2658a53e9783..e964d2b466c3028025b5ce8a6509e3e3450087a2 100644 (file)
@@ -34,6 +34,10 @@ namespace {
   
   struct RegToMem : public FunctionPass {
 
+    virtual void getAnalysisUsage(AnalysisUsage &AU) const {
+      AU.addRequiredID(BreakCriticalEdgesID);
+    }
+
    bool valueEscapes(Instruction* i) {
       BasicBlock* bb = i->getParent();
       for(Value::use_iterator ii = i->use_begin(), ie = i->use_end();