From: Andrew Lenharth Date: Tue, 22 Nov 2005 21:45:19 +0000 (+0000) Subject: turns out, demotion and invokes and critical edges don't mix X-Git-Url: http://demsky.eecs.uci.edu/git/?a=commitdiff_plain;h=7045f6c56e60329408e775573b24af0893557b0e;p=oota-llvm.git turns out, demotion and invokes and critical edges don't mix git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24487 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/lib/Transforms/Scalar/Reg2Mem.cpp b/lib/Transforms/Scalar/Reg2Mem.cpp index b04c362a25d..e964d2b466c 100644 --- a/lib/Transforms/Scalar/Reg2Mem.cpp +++ b/lib/Transforms/Scalar/Reg2Mem.cpp @@ -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();