3
3
; RUN: llc -mattr=+alu32 -filetype=asm -o - %t1 | FileCheck -check-prefixes=CHECK %s
4
4
;
5
5
; Source code:
6
- ; static int (*bpf_log)(unsigned long tid, void * data, int data_size) = (void * )999;
6
+ ; static int (*bpf_log)(unsigned long tid, ptr data, int data_size) = (ptr )999;
7
7
; struct {
8
8
; char f1[100];
9
9
; typeof(3) f2;
21
21
; clang -target bpf -O2 -g -S -emit-llvm -Xclang -disable-llvm-passes test.c
22
22
23
23
@tmp__abc = dso_local global { <{ i8 , i8 , [98 x i8 ] }>, i32 } { <{ i8 , i8 , [98 x i8 ] }> <{ i8 1 , i8 3 , [98 x i8 ] zeroinitializer }>, i32 0 }, align 4 , !dbg !0
24
- @bpf_log = internal global i32 ( i64 , i8* , i32 )* inttoptr (i64 999 to i32 ( i64 , i8* , i32 )* ), align 8 , !dbg !17
24
+ @bpf_log = internal global ptr inttoptr (i64 999 to ptr ), align 8 , !dbg !17
25
25
26
26
; Function Attrs: nounwind
27
27
define dso_local void @prog1 () #0 !dbg !28 {
28
28
entry:
29
- %0 = load i32 ( i64 , i8* , i32 )*, i32 ( i64 , i8* , i32 )** @bpf_log , align 8 , !dbg !31 , !tbaa !32
29
+ %0 = load ptr , ptr @bpf_log , align 8 , !dbg !31 , !tbaa !32
30
30
%1 = call i64 @llvm.bpf.btf.type.id (i32 0 , i64 0 ), !dbg !36 , !llvm.preserve.access.index !7
31
- %call = call i32 %0 (i64 %1 , i8* getelementptr inbounds ({ <{ i8 , i8 , [98 x i8 ] }>, i32 }, { <{ i8 , i8 , [ 98 x i8 ] }>, i32 }* @tmp__abc , i32 0 , i32 0 , i32 0 ), i32 104 ), !dbg !31
31
+ %call = call i32 %0 (i64 %1 , ptr getelementptr inbounds ({ <{ i8 , i8 , [98 x i8 ] }>, i32 }, ptr @tmp__abc , i32 0 , i32 0 , i32 0 ), i32 104 ), !dbg !31
32
32
ret void , !dbg !37
33
33
}
34
34
@@ -38,18 +38,18 @@ declare i64 @llvm.bpf.btf.type.id(i32, i64) #1
38
38
; Function Attrs: nounwind
39
39
define dso_local void @prog2 () #0 !dbg !38 {
40
40
entry:
41
- %0 = load i32 ( i64 , i8* , i32 )*, i32 ( i64 , i8* , i32 )** @bpf_log , align 8 , !dbg !39 , !tbaa !32
41
+ %0 = load ptr , ptr @bpf_log , align 8 , !dbg !39 , !tbaa !32
42
42
%1 = call i64 @llvm.bpf.btf.type.id (i32 1 , i64 0 ), !dbg !40 , !llvm.preserve.access.index !6
43
- %call = call i32 %0 (i64 %1 , i8* getelementptr inbounds ({ <{ i8 , i8 , [98 x i8 ] }>, i32 }, { <{ i8 , i8 , [ 98 x i8 ] }>, i32 }* @tmp__abc , i32 0 , i32 0 , i32 0 ), i32 104 ), !dbg !39
43
+ %call = call i32 %0 (i64 %1 , ptr getelementptr inbounds ({ <{ i8 , i8 , [98 x i8 ] }>, i32 }, ptr @tmp__abc , i32 0 , i32 0 , i32 0 ), i32 104 ), !dbg !39
44
44
ret void , !dbg !41
45
45
}
46
46
47
47
; Function Attrs: nounwind
48
48
define dso_local void @prog3 () #0 !dbg !42 {
49
49
entry:
50
- %0 = load i32 ( i64 , i8* , i32 )*, i32 ( i64 , i8* , i32 )** @bpf_log , align 8 , !dbg !43 , !tbaa !32
50
+ %0 = load ptr , ptr @bpf_log , align 8 , !dbg !43 , !tbaa !32
51
51
%1 = call i64 @llvm.bpf.btf.type.id (i32 2 , i64 1 ), !dbg !44 , !llvm.preserve.access.index !11
52
- %call = call i32 %0 (i64 %1 , i8* getelementptr inbounds ({ <{ i8 , i8 , [98 x i8 ] }>, i32 }, { <{ i8 , i8 , [ 98 x i8 ] }>, i32 }* @tmp__abc , i32 0 , i32 0 , i32 0 ), i32 104 ), !dbg !43
52
+ %call = call i32 %0 (i64 %1 , ptr getelementptr inbounds ({ <{ i8 , i8 , [98 x i8 ] }>, i32 }, ptr @tmp__abc , i32 0 , i32 0 , i32 0 ), i32 104 ), !dbg !43
53
53
ret void , !dbg !45
54
54
}
55
55
0 commit comments