1; RUN: opt < %s -passes=function-attrs -S | FileCheck %s 2 3; CHECK: define i32 @test1(i32 %p, i32 %q) 4define i32 @test1(i32 %p, i32 %q) { 5entry: 6 %cmp = icmp sgt i32 %p, %q 7 br i1 %cmp, label %cond.end, label %lor.lhs.false 8 9lor.lhs.false: ; preds = %entry 10 %tobool = icmp ne i32 %p, 0 11 %tobool1 = icmp ne i32 %q, 0 12 %or.cond = and i1 %tobool, %tobool1 13 %p.q = select i1 %or.cond, i32 %p, i32 %q 14 ret i32 %p.q 15 16cond.end: ; preds = %entry 17 ret i32 %p 18} 19 20; CHECK: define i32 @test2(i32 %p1, i32 returned %p2) 21define i32 @test2(i32 %p1, i32 returned %p2) { 22 %_tmp4 = icmp eq i32 %p1, %p2 23 br i1 %_tmp4, label %bb2, label %bb1 24 25bb2: ; preds = %0 26 ret i32 %p1 27 28bb1: ; preds = %bb1, %0 29 br label %bb1 30} 31