llvm-6502/test/Transforms/GVN/2010-03-31-RedundantPHIs.ll
Owen Anderson 7267e14327 Now that the profitable bits of EnableFullLoadPRE have been enabled by default, rip out the remainder.
Anyone interested in more general PRE would be better served by implementing it separately, to get real
anticipation calculation, etc.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115337 91177308-0d34-0410-b5e6-96231b3b80d8
2010-10-01 20:02:55 +00:00

47 lines
1.3 KiB
LLVM

; RUN: opt < %s -gvn -S | FileCheck %s
define i8* @cat(i8* %s1, ...) nounwind {
entry:
br i1 undef, label %bb, label %bb3
bb: ; preds = %entry
unreachable
bb3: ; preds = %entry
store i8* undef, i8** undef, align 4
br i1 undef, label %bb5, label %bb6
bb5: ; preds = %bb3
unreachable
bb6: ; preds = %bb3
br label %bb12
bb8: ; preds = %bb12
br i1 undef, label %bb9, label %bb10
bb9: ; preds = %bb8
%0 = load i8** undef, align 4 ; <i8*> [#uses=0]
%1 = load i8** undef, align 4 ; <i8*> [#uses=0]
br label %bb11
bb10: ; preds = %bb8
br label %bb11
bb11: ; preds = %bb10, %bb9
; CHECK: bb11:
; CHECK: phi
; CHECK-NOT: phi
br label %bb12
bb12: ; preds = %bb11, %bb6
; CHECK: bb12:
; CHECK: phi
; CHECK-NOT: phi
br i1 undef, label %bb8, label %bb13
bb13: ; preds = %bb12
; CHECK: bb13:
ret i8* undef
}