llvm-6502/test/Transforms/Mem2Reg/crash.ll
Chris Lattner 850c9178dc Fix PR5023: The instruction form of DominatorTree::dominates did not
take into consideration that the result of an invoke is only valid in
the normal dest, not the unwind dest.  This caused 'PHINode::hasConstantValue'
to return true in an invalid situation, causing mem2reg to delete a phi that
was actually needed.  This caused a crash building 483.xalancbmk.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82491 91177308-0d34-0410-b5e6-96231b3b80d8
2009-09-21 22:39:35 +00:00

25 lines
326 B
LLVM

; RUN: opt < %s -mem2reg -S
; PR5023
declare i32 @bar()
define i32 @foo() {
entry:
%whichFlag = alloca i32
%A = invoke i32 @bar()
to label %invcont2 unwind label %lpad86
invcont2:
store i32 %A, i32* %whichFlag
br label %bb15
bb15:
%B = load i32* %whichFlag
ret i32 %B
lpad86:
br label %bb15
}