55 lines · plain
1; RUN: opt < %s -passes=inline -S | FileCheck %s2; RUN: opt < %s -passes='cgscc(inline)' -S | FileCheck %s3 4define internal i32 @callee1(i32 %A, i32 %B) {5; CHECK-NOT: @callee16entry:7 %cond = icmp eq i32 %A, 1238 br i1 %cond, label %T, label %F9 10T:11 %C = mul i32 %B, %B12 ret i32 %C13 14F:15 ret i32 016}17 18define internal i32 @callee2(i32 %A, i32 %B) {19; CHECK-NOT: @callee220entry:21 switch i32 %A, label %T [22 i32 10, label %F23 i32 1234, label %G24 ]25 26dead:27 %cond = icmp eq i32 %A, 12328 br i1 %cond, label %T, label %F29 30T:31 %C = mul i32 %B, %B32 ret i32 %C33 34F:35 ret i32 036 37G:38 %D = mul i32 %B, %B39 %E = mul i32 %D, %B40 ret i32 %E41}42 43define i32 @test(i32 %A) {44; CHECK-LABEL: define i32 @test(i32 %A)45entry:46 %X = call i32 @callee1( i32 10, i32 %A )47 %Y = call i32 @callee2( i32 10, i32 %A )48; CHECK-NOT: call49; CHECK-NOT: mul50 51 %Z = add i32 %X, %Y52 ret i32 %Z53}54 55