mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-01-12 17:32:19 +00:00
Small and carefully crafted testcase showing a miscompilation by GVN
that I'm working on. This is manifesting as a miscompile of 255.vortex on some targets. No check lines yet because it fails. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90520 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
210e45af3a
commit
e4968a4b9d
@ -280,3 +280,36 @@ Cont:
|
||||
}
|
||||
|
||||
|
||||
declare i1 @cond() readonly
|
||||
declare i1 @cond2() readonly
|
||||
|
||||
define i32 @phi_trans2() {
|
||||
entry:
|
||||
%P = alloca i32, i32 400
|
||||
br label %F1
|
||||
|
||||
F1:
|
||||
%A = phi i32 [1, %entry], [2, %F]
|
||||
%cond2 = call i1 @cond()
|
||||
br i1 %cond2, label %T1, label %TY
|
||||
|
||||
T1:
|
||||
%P2 = getelementptr i32* %P, i32 %A
|
||||
%x = load i32* %P2
|
||||
%cond = call i1 @cond2()
|
||||
br i1 %cond, label %TX, label %F
|
||||
|
||||
F:
|
||||
%P3 = getelementptr i32* %P, i32 2
|
||||
store i32 17, i32* %P3
|
||||
|
||||
store i32 42, i32* %P2 ; Provides "P[A]".
|
||||
br label %F1
|
||||
|
||||
TX:
|
||||
ret i32 %x ;; SHOULD NOT BE COMPILED TO 'ret i32 42'.
|
||||
TY:
|
||||
ret i32 0
|
||||
}
|
||||
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user