mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2024-12-26 05:32:25 +00:00
25 lines
452 B
LLVM
25 lines
452 B
LLVM
|
; RUN: opt -S < %s -correlated-propagation | FileCheck %s
|
||
|
|
||
|
; CHECK: @check
|
||
|
define i16 @test(i32 %a, i1 %b) {
|
||
|
entry:
|
||
|
%c = icmp eq i32 %a, 0
|
||
|
br i1 %c, label %left, label %right
|
||
|
|
||
|
right:
|
||
|
%d = trunc i32 %a to i1
|
||
|
br label %merge
|
||
|
|
||
|
left:
|
||
|
br i1 %b, label %merge, label %other
|
||
|
|
||
|
other:
|
||
|
ret i16 23
|
||
|
|
||
|
merge:
|
||
|
%f = phi i1 [%b, %left], [%d, %right]
|
||
|
; CHECK: select i1 %f, i16 1, i16 0
|
||
|
%h = select i1 %f, i16 1, i16 0
|
||
|
; CHECK: ret i16 %h
|
||
|
ret i16 %h
|
||
|
}
|