mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-08-05 13:26:55 +00:00
The select instruction is not neccesarily in the same block as the
phi nodes. Make sure to phi translate from the right block. This fixes a llvm-building-llvm failure on GVN-PRE.cpp git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82970 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
@@ -247,3 +247,19 @@ ret:
|
||||
%b = select i1 %a, i32 %A, i32 %c
|
||||
ret i32 %b
|
||||
}
|
||||
|
||||
define i32 @test29(i1 %cond, i32 %A, i32 %B) {
|
||||
entry:
|
||||
br i1 %cond, label %jump, label %ret
|
||||
jump:
|
||||
br label %ret
|
||||
ret:
|
||||
%c = phi i32 [%A, %jump], [%B, %entry]
|
||||
%a = phi i1 [true, %jump], [false, %entry]
|
||||
br label %next
|
||||
|
||||
next:
|
||||
%b = select i1 %a, i32 %A, i32 %c
|
||||
ret i32 %b
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user