33; RUN: llc -mattr=+alu32 -filetype=asm -o - %t1 | FileCheck -check-prefixes=CHECK %s
44;
55; 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;
77; struct {
88; char f1[100];
99; typeof(3) f2;
2121; clang -target bpf -O2 -g -S -emit-llvm -Xclang -disable-llvm-passes test.c
2222
2323@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
2525
2626; Function Attrs: nounwind
2727define dso_local void @prog1 () #0 !dbg !28 {
2828entry:
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
3030 %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
3232 ret void , !dbg !37
3333}
3434
@@ -38,18 +38,18 @@ declare i64 @llvm.bpf.btf.type.id(i32, i64) #1
3838; Function Attrs: nounwind
3939define dso_local void @prog2 () #0 !dbg !38 {
4040entry:
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
4242 %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
4444 ret void , !dbg !41
4545}
4646
4747; Function Attrs: nounwind
4848define dso_local void @prog3 () #0 !dbg !42 {
4949entry:
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
5151 %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
5353 ret void , !dbg !45
5454}
5555
0 commit comments