Skip to content

Commit 4c3d87b

Browse files
committed
Add InstrProfiling LIT test case
Signed-off-by: Michael Aziz <[email protected]>
1 parent 7d5f8b1 commit 4c3d87b

File tree

1 file changed

+29
-0
lines changed

1 file changed

+29
-0
lines changed
Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
; RUN: opt < %s -passes=instrprof -S | FileCheck %s
2+
3+
target triple = "spir64-unknown-unknown"
4+
5+
@__profn_foo = private constant [3 x i8] c"foo"
6+
; CHECK: @__profc_foo = private global { ptr addrspace(1), i64 } zeroinitializer, section "__llvm_prf_cnts", comdat #0
7+
; CHECK: @__profd_foo = private global { i64, i64, i64, i64, ptr, ptr, i32, [3 x i16], i32 } { i64 {{.*}}, i64 {{.*}}, i64 sub (i64 ptrtoint (ptr @__profc_foo to i64)
8+
@__profn_bar = private constant [3 x i8] c"bar"
9+
; CHECK: @__profc_bar = private global { ptr addrspace(1), i64 } zeroinitializer, section "__llvm_prf_cnts", comdat #1
10+
; CHECK: @__profd_bar = private global { i64, i64, i64, i64, ptr, ptr, i32, [3 x i16], i32 } { i64 {{.*}}, i64 {{.*}}, i64 sub (i64 ptrtoint (ptr @__profc_bar to i64)
11+
12+
; CHECK: @__llvm_prf_nm = {{.*}} section "__llvm_prf_names"
13+
14+
define void @_Z3foov() {
15+
call void @llvm.instrprof.cover(ptr @__profn_foo, i64 12345678, i32 1, i32 0)
16+
; CHECK: %pgocount.addr = load ptr addrspace(1), ptr @__profc_foo, align 8
17+
; CHECK: store i8 0, ptr addrspace(1) %pgocount.addr, align 1
18+
ret void
19+
}
20+
21+
%class.A = type { ptr }
22+
define dso_local void @_Z3barv(ptr nocapture nonnull align 8 %0) unnamed_addr #0 align 2 {
23+
call void @llvm.instrprof.cover(ptr @__profn_bar, i64 87654321, i32 1, i32 0)
24+
; CHECK: %pgocount.addr = load ptr addrspace(1), ptr @__profc_bar, align 8
25+
; CHECK: store i8 0, ptr addrspace(1) %pgocount.addr, align 1
26+
ret void
27+
}
28+
29+
declare void @llvm.instrprof.cover(ptr, i64, i32, i32)

0 commit comments

Comments
 (0)