blob: 04ddb7b5ac03adeb7acb28941191887eff1f344a [file] [log] [blame]
; RUN: opt < %s -functionattrs -S | FileCheck %s
; RUN: opt < %s -passes=function-attrs -S | FileCheck %s
; CHECK: define i32 @test1(i32 %p, i32 %q)
define i32 @test1(i32 %p, i32 %q) {
entry:
%cmp = icmp sgt i32 %p, %q
br i1 %cmp, label %cond.end, label %lor.lhs.false
lor.lhs.false: ; preds = %entry
%tobool = icmp ne i32 %p, 0
%tobool1 = icmp ne i32 %q, 0
%or.cond = and i1 %tobool, %tobool1
%p.q = select i1 %or.cond, i32 %p, i32 %q
ret i32 %p.q
cond.end: ; preds = %entry
ret i32 %p
}
; CHECK: define i32 @test2(i32 %p1, i32 returned %p2)
define i32 @test2(i32 %p1, i32 returned %p2) {
%_tmp4 = icmp eq i32 %p1, %p2
br i1 %_tmp4, label %bb2, label %bb1
bb2: ; preds = %0
ret i32 %p1
bb1: ; preds = %bb1, %0
br label %bb1
}