diff options
Diffstat (limited to 'llvm/test/Transforms')
| -rw-r--r-- | llvm/test/Transforms/SampleProfile/indirect-call.ll | 16 |
1 files changed, 9 insertions, 7 deletions
diff --git a/llvm/test/Transforms/SampleProfile/indirect-call.ll b/llvm/test/Transforms/SampleProfile/indirect-call.ll index 7e43adb905e..c868d0b83a2 100644 --- a/llvm/test/Transforms/SampleProfile/indirect-call.ll +++ b/llvm/test/Transforms/SampleProfile/indirect-call.ll @@ -12,16 +12,16 @@ define void @test(void ()*) !dbg !3 { ; CHECK-LABEL: @test_inline ; If the indirect call is promoted and inlined in profile, we should promote and inline it. -define void @test_inline(void ()*) !dbg !3 { - %2 = alloca void ()* - store void ()* %0, void ()** %2 - %3 = load void ()*, void ()** %2 +define void @test_inline(i64* (i32*)*, i32* %x) !dbg !3 { + %2 = alloca i64* (i32*)* + store i64* (i32*)* %0, i64* (i32*)** %2 + %3 = load i64* (i32*)*, i64* (i32*)** %2 ; CHECK: icmp {{.*}} @foo_inline ; CHECK: if.true.direct_targ: ; CHECK-NOT: call ; CHECK: if.false.orig_indirect: ; CHECK: call - call void %3(), !dbg !5 + call i64* %3(i32* %x), !dbg !5 ret void } @@ -37,8 +37,10 @@ define void @test_noinline(void ()*) !dbg !3 { ret void } -define void @foo_inline() !dbg !3 { - ret void +@x = global i32 0, align 4 + +define i32* @foo_inline(i32* %x) !dbg !3 { + ret i32* %x } define i32 @foo_noinline(i32 %x) !dbg !3 { |

