summaryrefslogtreecommitdiffstats
path: root/llvm/test
diff options
context:
space:
mode:
Diffstat (limited to 'llvm/test')
-rw-r--r--llvm/test/Transforms/SampleProfile/Inputs/indirect-call.prof4
-rw-r--r--llvm/test/Transforms/SampleProfile/indirect-call.ll12
2 files changed, 13 insertions, 3 deletions
diff --git a/llvm/test/Transforms/SampleProfile/Inputs/indirect-call.prof b/llvm/test/Transforms/SampleProfile/Inputs/indirect-call.prof
index ac32967bd54..428d4cedef5 100644
--- a/llvm/test/Transforms/SampleProfile/Inputs/indirect-call.prof
+++ b/llvm/test/Transforms/SampleProfile/Inputs/indirect-call.prof
@@ -1,8 +1,10 @@
test:63067:0
4: 3345 _Z3barv:1398 _Z3foov:2059
test_inline:3000:0
- 5: foo_inline:3000
+ 5: foo_inline1:3000
1: 3000
+ 5: foo_inline2:4000
+ 1: 4000
test_noinline:3000:0
5: foo_noinline:3000
1: 3000
diff --git a/llvm/test/Transforms/SampleProfile/indirect-call.ll b/llvm/test/Transforms/SampleProfile/indirect-call.ll
index e6e294fd6bf..5a4913d6358 100644
--- a/llvm/test/Transforms/SampleProfile/indirect-call.ll
+++ b/llvm/test/Transforms/SampleProfile/indirect-call.ll
@@ -16,10 +16,14 @@ 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: icmp {{.*}} @foo_inline2
; CHECK: if.true.direct_targ:
; CHECK-NOT: call
; CHECK: if.false.orig_indirect:
+; CHECK: icmp {{.*}} @foo_inline1
+; CHECK: if.true.direct_targ1:
+; CHECK-NOT: call
+; CHECK: if.false.orig_indirect2:
; CHECK: call
call i64* %3(i32* %x), !dbg !5
ret void
@@ -39,7 +43,11 @@ define void @test_noinline(void ()*) !dbg !3 {
@x = global i32 0, align 4
-define i32* @foo_inline(i32* %x) !dbg !3 {
+define i32* @foo_inline1(i32* %x) !dbg !3 {
+ ret i32* %x
+}
+
+define i32* @foo_inline2(i32* %x) !dbg !3 {
ret i32* %x
}
OpenPOWER on IntegriCloud