Skip to content

Commit

Permalink
Codegen Tests: Remove unnecessary uses of count() function
Browse files Browse the repository at this point in the history
Simplify the test cases such that each is only testing the minimal
functionality that it needs to. Minimises noise from changing expected
results in unrelated patches.
  • Loading branch information
ajor committed Jul 12, 2024
1 parent 0c72e1b commit 6cc2798
Show file tree
Hide file tree
Showing 24 changed files with 555 additions and 959 deletions.
3 changes: 1 addition & 2 deletions tests/codegen/argN_rawtracepoint.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -6,8 6,7 @@ namespace codegen {

TEST(codegen, argN_rawtracepoint)
{
test("rawtracepoint:sched_switch { "
"@[arg0] = count(); }",
test("rawtracepoint:sched_switch { @[arg0] = 1; }",

NAME);
}
Expand Down
2 changes: 1 addition & 1 deletion tests/codegen/args_multiple_tracepoints.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 11,7 @@ namespace codegen {
TEST(codegen, args_multiple_tracepoints)
{
test("tracepoint:sched:sched_one,tracepoint:sched:sched_two { "
"@[args.common_field] = count(); }",
"@[args.common_field] = 1; }",
NAME);
}

Expand Down
2 changes: 1 addition & 1 deletion tests/codegen/args_multiple_tracepoints_category_wild.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 10,7 @@ namespace codegen {

TEST(codegen, args_multiple_tracepoints_category_wild)
{
test("tracepoint:sched*:sched_* { @[args.common_field] = count(); }", NAME);
test("tracepoint:sched*:sched_* { @[args.common_field] = 1; }", NAME);
}

} // namespace codegen
Expand Down
2 changes: 1 addition & 1 deletion tests/codegen/args_multiple_tracepoints_wild.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 10,7 @@ namespace codegen {

TEST(codegen, args_multiple_tracepoints_wild)
{
test("tracepoint:sched:sched_* { @[args.common_field] = count(); }", NAME);
test("tracepoint:sched:sched_* { @[args.common_field] = 1; }", NAME);
}

} // namespace codegen
Expand Down
2 changes: 1 addition & 1 deletion tests/codegen/call_ntop_key.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 6,7 @@ namespace codegen {

TEST(codegen, call_ntop_key)
{
test("kprobe:f { @x[ntop(2, 0xFFFFFFFF)] = count()}",
test("kprobe:f { @x[ntop(2, 0xFFFFFFFF)] = 1; }",

NAME);
}
Expand Down
2 changes: 1 addition & 1 deletion tests/codegen/call_usym_key.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 6,7 @@ namespace codegen {

TEST(codegen, call_usym_key)
{
test("kprobe:f { @x[usym(0)] = count() }",
test("kprobe:f { @x[usym(0)] = 1; }",

NAME);
}
Expand Down
2 changes: 1 addition & 1 deletion tests/codegen/iter_dereference.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 6,7 @@ namespace codegen {

TEST(codegen, iter_dereference)
{
test("iter:task_file { @[ctx->meta->session_id] = count()}", NAME);
test("iter:task_file { @[ctx->meta->session_id] = 1; }", NAME);
}

} // namespace codegen
Expand Down
3 changes: 1 addition & 2 deletions tests/codegen/kfunc_dereference.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -6,8 6,7 @@ namespace codegen {

TEST(codegen, kfunc_dereference)
{
test("kfunc:tcp_sendmsg { @[args->sk->__sk_common.skc_daddr] = count(); }",
NAME);
test("kfunc:tcp_sendmsg { @[args->sk->__sk_common.skc_daddr] = 1; }", NAME);
}

} // namespace codegen
Expand Down
3 changes: 1 addition & 2 deletions tests/codegen/kretfunc_dereference.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -6,8 6,7 @@ namespace codegen {

TEST(codegen, kretfunc_dereference)
{
test("kretfunc:sk_alloc { @[retval->__sk_common.skc_daddr] = count(); }",
NAME);
test("kretfunc:sk_alloc { @[retval->__sk_common.skc_daddr] = 1; }", NAME);
}

} // namespace codegen
Expand Down
2 changes: 1 addition & 1 deletion tests/codegen/literal_strncmp.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 6,7 @@ namespace codegen {

TEST(codegen, literal_strncmp)
{
test("kretprobe:vfs_read /strncmp(comm, \"sshd\", 2)/ { @[comm] = count(); }",
test("kprobe:f { @[strncmp(comm, \"sshd\", 2)] = 1; }",

NAME);
}
Expand Down
82 changes: 29 additions & 53 deletions tests/codegen/llvm/argN_rawtracepoint.ll
Original file line number Diff line number Diff line change
Expand Up @@ -15,44 15,24 @@ target triple = "bpf-pc-linux"
; Function Attrs: nounwind
declare i64 @llvm.bpf.pseudo(i64 %0, i64 %1) #0

define i64 @rawtracepoint_sched_switch_1(i8* %0) section "s_rawtracepoint_sched_switch_1" !dbg !55 {
define i64 @rawtracepoint_sched_switch_1(i8* %0) section "s_rawtracepoint_sched_switch_1" !dbg !51 {
entry:
%initial_value = alloca i64, align 8
%lookup_elem_val = alloca i64, align 8
%"@_val" = alloca i64, align 8
%"@_key" = alloca i64, align 8
%1 = bitcast i8* %0 to i64*
%2 = getelementptr i64, i64* %1, i64 0
%arg0 = load i64, i64* %2, align 8
%3 = bitcast i64* %"@_key" to i8*
call void @llvm.lifetime.start.p0i8(i64 -1, i8* %3)
store i64 %arg0, i64* %"@_key", align 8
%lookup_elem = call i8* inttoptr (i64 1 to i8* (%"struct map_t"*, i64*)*)(%"struct map_t"* @AT_, i64* %"@_key")
%4 = bitcast i64* %lookup_elem_val to i8*
%4 = bitcast i64* %"@_val" to i8*
call void @llvm.lifetime.start.p0i8(i64 -1, i8* %4)
%map_lookup_cond = icmp ne i8* %lookup_elem, null
br i1 %map_lookup_cond, label %lookup_success, label %lookup_failure

lookup_success: ; preds = %entry
�st = bitcast i8* %lookup_elem to i64*
%5 = load i64, i64* �st, align 8
%6 = add i64 %5, 1
store i64 %6, i64* �st, align 8
br label %lookup_merge

lookup_failure: ; preds = %entry
%7 = bitcast i64* %initial_value to i8*
call void @llvm.lifetime.start.p0i8(i64 -1, i8* %7)
store i64 1, i64* %initial_value, align 8
%update_elem = call i64 inttoptr (i64 2 to i64 (%"struct map_t"*, i64*, i64*, i64)*)(%"struct map_t"* @AT_, i64* %"@_key", i64* %initial_value, i64 1)
%8 = bitcast i64* %initial_value to i8*
call void @llvm.lifetime.end.p0i8(i64 -1, i8* %8)
br label %lookup_merge

lookup_merge: ; preds = %lookup_failure, %lookup_success
%9 = bitcast i64* %lookup_elem_val to i8*
call void @llvm.lifetime.end.p0i8(i64 -1, i8* %9)
 = bitcast i64* %"@_key" to i8*
call void @llvm.lifetime.end.p0i8(i64 -1, i8* )
store i64 1, i64* %"@_val", align 8
%update_elem = call i64 inttoptr (i64 2 to i64 (%"struct map_t"*, i64*, i64*, i64)*)(%"struct map_t"* @AT_, i64* %"@_key", i64* %"@_val", i64 0)
%5 = bitcast i64* %"@_val" to i8*
call void @llvm.lifetime.end.p0i8(i64 -1, i8* %5)
%6 = bitcast i64* %"@_key" to i8*
call void @llvm.lifetime.end.p0i8(i64 -1, i8* %6)
ret i64 0
}

Expand All @@ -65,8 45,8 @@ declare void @llvm.lifetime.end.p0i8(i64 immarg %0, i8* nocapture %1) #1
attributes #0 = { nounwind }
attributes #1 = { argmemonly nofree nosync nounwind willreturn }

!llvm.dbg.cu = !{!51}
!llvm.module.flags = !{!54}
!llvm.dbg.cu = !{!47}
!llvm.module.flags = !{!50}

!0 = !DIGlobalVariableExpression(var: !1, expr: !DIExpression())
!1 = distinct !DIGlobalVariable(name: "AT_", linkageName: "global", scope: !2, file: !2, type: !3, isLocal: false, isDefinition: true)
Expand All @@ -75,10 55,10 @@ attributes #1 = { argmemonly nofree nosync nounwind willreturn }
!4 = !{!5, !11, !16, !19}
!5 = !DIDerivedType(tag: DW_TAG_member, name: "type", scope: !2, file: !2, baseType: !6, size: 64)
!6 = !DIDerivedType(tag: DW_TAG_pointer_type, baseType: !7, size: 64)
!7 = !DICompositeType(tag: DW_TAG_array_type, baseType: !8, size: 160, elements: !9)
!7 = !DICompositeType(tag: DW_TAG_array_type, baseType: !8, size: 32, elements: !9)
!8 = !DIBasicType(name: "int", size: 32, encoding: DW_ATE_signed)
!9 = !{!10}
!10 = !DISubrange(count: 5, lowerBound: 0)
!10 = !DISubrange(count: 1, lowerBound: 0)
!11 = !DIDerivedType(tag: DW_TAG_member, name: "max_entries", scope: !2, file: !2, baseType: !12, size: 64, offset: 64)
!12 = !DIDerivedType(tag: DW_TAG_pointer_type, baseType: !13, size: 64)
!13 = !DICompositeType(tag: DW_TAG_array_type, baseType: !8, size: 131072, elements: !14)
Expand All @@ -105,28 85,24 @@ attributes #1 = { argmemonly nofree nosync nounwind willreturn }
!34 = !DIGlobalVariableExpression(var: !35, expr: !DIExpression())
!35 = distinct !DIGlobalVariable(name: "event_loss_counter", linkageName: "global", scope: !2, file: !2, type: !36, isLocal: false, isDefinition: true)
!36 = !DICompositeType(tag: DW_TAG_structure_type, scope: !2, file: !2, size: 256, elements: !37)
!37 = !{!38, !43, !48, !19}
!37 = !{!38, !43, !44, !19}
!38 = !DIDerivedType(tag: DW_TAG_member, name: "type", scope: !2, file: !2, baseType: !39, size: 64)
!39 = !DIDerivedType(tag: DW_TAG_pointer_type, baseType: !40, size: 64)
!40 = !DICompositeType(tag: DW_TAG_array_type, baseType: !8, size: 64, elements: !41)
!41 = !{!42}
!42 = !DISubrange(count: 2, lowerBound: 0)
!43 = !DIDerivedType(tag: DW_TAG_member, name: "max_entries", scope: !2, file: !2, baseType: !44, size: 64, offset: 64)
!44 = !DIDerivedType(tag: DW_TAG_pointer_type, baseType: !45, size: 64)
!45 = !DICompositeType(tag: DW_TAG_array_type, baseType: !8, size: 32, elements: !46)
!46 = !{!47}
!47 = !DISubrange(count: 1, lowerBound: 0)
!48 = !DIDerivedType(tag: DW_TAG_member, name: "key", scope: !2, file: !2, baseType: !49, size: 64, offset: 128)
!49 = !DIDerivedType(tag: DW_TAG_pointer_type, baseType: !50, size: 64)
!50 = !DIBasicType(name: "int32", size: 32, encoding: DW_ATE_signed)
!51 = distinct !DICompileUnit(language: DW_LANG_C, file: !2, producer: "bpftrace", isOptimized: false, runtimeVersion: 0, emissionKind: LineTablesOnly, enums: !52, globals: !53)
!52 = !{}
!53 = !{!0, !20, !34}
!54 = !{i32 2, !"Debug Info Version", i32 3}
!55 = distinct !DISubprogram(name: "rawtracepoint_sched_switch_1", linkageName: "rawtracepoint_sched_switch_1", scope: !2, file: !2, type: !56, flags: DIFlagPrototyped, spFlags: DISPFlagDefinition, unit: !51, retainedNodes: !60)
!56 = !DISubroutineType(types: !57)
!57 = !{!18, !58}
!58 = !DIDerivedType(tag: DW_TAG_pointer_type, baseType: !59, size: 64)
!59 = !DIBasicType(name: "int8", size: 8, encoding: DW_ATE_signed)
!60 = !{!61}
!61 = !DILocalVariable(name: "ctx", arg: 1, scope: !55, file: !2, type: !58)
!43 = !DIDerivedType(tag: DW_TAG_member, name: "max_entries", scope: !2, file: !2, baseType: !6, size: 64, offset: 64)
!44 = !DIDerivedType(tag: DW_TAG_member, name: "key", scope: !2, file: !2, baseType: !45, size: 64, offset: 128)
!45 = !DIDerivedType(tag: DW_TAG_pointer_type, baseType: !46, size: 64)
!46 = !DIBasicType(name: "int32", size: 32, encoding: DW_ATE_signed)
!47 = distinct !DICompileUnit(language: DW_LANG_C, file: !2, producer: "bpftrace", isOptimized: false, runtimeVersion: 0, emissionKind: LineTablesOnly, enums: !48, globals: !49)
!48 = !{}
!49 = !{!0, !20, !34}
!50 = !{i32 2, !"Debug Info Version", i32 3}
!51 = distinct !DISubprogram(name: "rawtracepoint_sched_switch_1", linkageName: "rawtracepoint_sched_switch_1", scope: !2, file: !2, type: !52, flags: DIFlagPrototyped, spFlags: DISPFlagDefinition, unit: !47, retainedNodes: !56)
!52 = !DISubroutineType(types: !53)
!53 = !{!18, !54}
!54 = !DIDerivedType(tag: DW_TAG_pointer_type, baseType: !55, size: 64)
!55 = !DIBasicType(name: "int8", size: 8, encoding: DW_ATE_signed)
!56 = !{!57}
!57 = !DILocalVariable(name: "ctx", arg: 1, scope: !51, file: !2, type: !54)
126 changes: 41 additions & 85 deletions tests/codegen/llvm/args_multiple_tracepoints.ll
Original file line number Diff line number Diff line change
Expand Up @@ -15,10 15,9 @@ target triple = "bpf-pc-linux"
; Function Attrs: nounwind
declare i64 @llvm.bpf.pseudo(i64 %0, i64 %1) #0

define i64 @tracepoint_sched_sched_one_1(i8* %0) section "s_tracepoint_sched_sched_one_1" !dbg !55 {
define i64 @tracepoint_sched_sched_one_1(i8* %0) section "s_tracepoint_sched_sched_one_1" !dbg !51 {
entry:
%initial_value = alloca i64, align 8
%lookup_elem_val = alloca i64, align 8
%"@_val" = alloca i64, align 8
%"@_key" = alloca i64, align 8
%1 = ptrtoint i8* %0 to i64
%2 = add i64 %1, 8
Expand All @@ -27,33 26,14 @@ entry:
%5 = bitcast i64* %"@_key" to i8*
call void @llvm.lifetime.start.p0i8(i64 -1, i8* %5)
store i64 %4, i64* %"@_key", align 8
%lookup_elem = call i8* inttoptr (i64 1 to i8* (%"struct map_t"*, i64*)*)(%"struct map_t"* @AT_, i64* %"@_key")
%6 = bitcast i64* %lookup_elem_val to i8*
%6 = bitcast i64* %"@_val" to i8*
call void @llvm.lifetime.start.p0i8(i64 -1, i8* %6)
%map_lookup_cond = icmp ne i8* %lookup_elem, null
br i1 %map_lookup_cond, label %lookup_success, label %lookup_failure

lookup_success: ; preds = %entry
�st = bitcast i8* %lookup_elem to i64*
%7 = load i64, i64* �st, align 8
%8 = add i64 %7, 1
store i64 %8, i64* �st, align 8
br label %lookup_merge

lookup_failure: ; preds = %entry
%9 = bitcast i64* %initial_value to i8*
call void @llvm.lifetime.start.p0i8(i64 -1, i8* %9)
store i64 1, i64* %initial_value, align 8
%update_elem = call i64 inttoptr (i64 2 to i64 (%"struct map_t"*, i64*, i64*, i64)*)(%"struct map_t"* @AT_, i64* %"@_key", i64* %initial_value, i64 1)
 = bitcast i64* %initial_value to i8*
call void @llvm.lifetime.end.p0i8(i64 -1, i8* )
br label %lookup_merge

lookup_merge: ; preds = %lookup_failure, %lookup_success
 = bitcast i64* %lookup_elem_val to i8*
call void @llvm.lifetime.end.p0i8(i64 -1, i8* )
 = bitcast i64* %"@_key" to i8*
call void @llvm.lifetime.end.p0i8(i64 -1, i8* )
store i64 1, i64* %"@_val", align 8
%update_elem = call i64 inttoptr (i64 2 to i64 (%"struct map_t"*, i64*, i64*, i64)*)(%"struct map_t"* @AT_, i64* %"@_key", i64* %"@_val", i64 0)
%7 = bitcast i64* %"@_val" to i8*
call void @llvm.lifetime.end.p0i8(i64 -1, i8* %7)
%8 = bitcast i64* %"@_key" to i8*
call void @llvm.lifetime.end.p0i8(i64 -1, i8* %8)
ret i64 1
}

Expand All @@ -63,10 43,9 @@ declare void @llvm.lifetime.start.p0i8(i64 immarg %0, i8* nocapture %1) #1
; Function Attrs: argmemonly nofree nosync nounwind willreturn
declare void @llvm.lifetime.end.p0i8(i64 immarg %0, i8* nocapture %1) #1

define i64 @tracepoint_sched_sched_two_2(i8* %0) section "s_tracepoint_sched_sched_two_2" !dbg !62 {
define i64 @tracepoint_sched_sched_two_2(i8* %0) section "s_tracepoint_sched_sched_two_2" !dbg !58 {
entry:
%initial_value = alloca i64, align 8
%lookup_elem_val = alloca i64, align 8
%"@_val" = alloca i64, align 8
%"@_key" = alloca i64, align 8
%1 = ptrtoint i8* %0 to i64
%2 = add i64 %1, 16
Expand All @@ -75,41 54,22 @@ entry:
%5 = bitcast i64* %"@_key" to i8*
call void @llvm.lifetime.start.p0i8(i64 -1, i8* %5)
store i64 %4, i64* %"@_key", align 8
%lookup_elem = call i8* inttoptr (i64 1 to i8* (%"struct map_t"*, i64*)*)(%"struct map_t"* @AT_, i64* %"@_key")
%6 = bitcast i64* %lookup_elem_val to i8*
%6 = bitcast i64* %"@_val" to i8*
call void @llvm.lifetime.start.p0i8(i64 -1, i8* %6)
%map_lookup_cond = icmp ne i8* %lookup_elem, null
br i1 %map_lookup_cond, label %lookup_success, label %lookup_failure

lookup_success: ; preds = %entry
�st = bitcast i8* %lookup_elem to i64*
%7 = load i64, i64* �st, align 8
%8 = add i64 %7, 1
store i64 %8, i64* �st, align 8
br label %lookup_merge

lookup_failure: ; preds = %entry
%9 = bitcast i64* %initial_value to i8*
call void @llvm.lifetime.start.p0i8(i64 -1, i8* %9)
store i64 1, i64* %initial_value, align 8
%update_elem = call i64 inttoptr (i64 2 to i64 (%"struct map_t"*, i64*, i64*, i64)*)(%"struct map_t"* @AT_, i64* %"@_key", i64* %initial_value, i64 1)
 = bitcast i64* %initial_value to i8*
call void @llvm.lifetime.end.p0i8(i64 -1, i8* )
br label %lookup_merge

lookup_merge: ; preds = %lookup_failure, %lookup_success
 = bitcast i64* %lookup_elem_val to i8*
call void @llvm.lifetime.end.p0i8(i64 -1, i8* )
 = bitcast i64* %"@_key" to i8*
call void @llvm.lifetime.end.p0i8(i64 -1, i8* )
store i64 1, i64* %"@_val", align 8
%update_elem = call i64 inttoptr (i64 2 to i64 (%"struct map_t"*, i64*, i64*, i64)*)(%"struct map_t"* @AT_, i64* %"@_key", i64* %"@_val", i64 0)
%7 = bitcast i64* %"@_val" to i8*
call void @llvm.lifetime.end.p0i8(i64 -1, i8* %7)
%8 = bitcast i64* %"@_key" to i8*
call void @llvm.lifetime.end.p0i8(i64 -1, i8* %8)
ret i64 1
}

attributes #0 = { nounwind }
attributes #1 = { argmemonly nofree nosync nounwind willreturn }

!llvm.dbg.cu = !{!51}
!llvm.module.flags = !{!54}
!llvm.dbg.cu = !{!47}
!llvm.module.flags = !{!50}

!0 = !DIGlobalVariableExpression(var: !1, expr: !DIExpression())
!1 = distinct !DIGlobalVariable(name: "AT_", linkageName: "global", scope: !2, file: !2, type: !3, isLocal: false, isDefinition: true)
Expand All @@ -118,10 78,10 @@ attributes #1 = { argmemonly nofree nosync nounwind willreturn }
!4 = !{!5, !11, !16, !19}
!5 = !DIDerivedType(tag: DW_TAG_member, name: "type", scope: !2, file: !2, baseType: !6, size: 64)
!6 = !DIDerivedType(tag: DW_TAG_pointer_type, baseType: !7, size: 64)
!7 = !DICompositeType(tag: DW_TAG_array_type, baseType: !8, size: 160, elements: !9)
!7 = !DICompositeType(tag: DW_TAG_array_type, baseType: !8, size: 32, elements: !9)
!8 = !DIBasicType(name: "int", size: 32, encoding: DW_ATE_signed)
!9 = !{!10}
!10 = !DISubrange(count: 5, lowerBound: 0)
!10 = !DISubrange(count: 1, lowerBound: 0)
!11 = !DIDerivedType(tag: DW_TAG_member, name: "max_entries", scope: !2, file: !2, baseType: !12, size: 64, offset: 64)
!12 = !DIDerivedType(tag: DW_TAG_pointer_type, baseType: !13, size: 64)
!13 = !DICompositeType(tag: DW_TAG_array_type, baseType: !8, size: 131072, elements: !14)
Expand All @@ -148,31 108,27 @@ attributes #1 = { argmemonly nofree nosync nounwind willreturn }
!34 = !DIGlobalVariableExpression(var: !35, expr: !DIExpression())
!35 = distinct !DIGlobalVariable(name: "event_loss_counter", linkageName: "global", scope: !2, file: !2, type: !36, isLocal: false, isDefinition: true)
!36 = !DICompositeType(tag: DW_TAG_structure_type, scope: !2, file: !2, size: 256, elements: !37)
!37 = !{!38, !43, !48, !19}
!37 = !{!38, !43, !44, !19}
!38 = !DIDerivedType(tag: DW_TAG_member, name: "type", scope: !2, file: !2, baseType: !39, size: 64)
!39 = !DIDerivedType(tag: DW_TAG_pointer_type, baseType: !40, size: 64)
!40 = !DICompositeType(tag: DW_TAG_array_type, baseType: !8, size: 64, elements: !41)
!41 = !{!42}
!42 = !DISubrange(count: 2, lowerBound: 0)
!43 = !DIDerivedType(tag: DW_TAG_member, name: "max_entries", scope: !2, file: !2, baseType: !44, size: 64, offset: 64)
!44 = !DIDerivedType(tag: DW_TAG_pointer_type, baseType: !45, size: 64)
!45 = !DICompositeType(tag: DW_TAG_array_type, baseType: !8, size: 32, elements: !46)
!46 = !{!47}
!47 = !DISubrange(count: 1, lowerBound: 0)
!48 = !DIDerivedType(tag: DW_TAG_member, name: "key", scope: !2, file: !2, baseType: !49, size: 64, offset: 128)
!49 = !DIDerivedType(tag: DW_TAG_pointer_type, baseType: !50, size: 64)
!50 = !DIBasicType(name: "int32", size: 32, encoding: DW_ATE_signed)
!51 = distinct !DICompileUnit(language: DW_LANG_C, file: !2, producer: "bpftrace", isOptimized: false, runtimeVersion: 0, emissionKind: LineTablesOnly, enums: !52, globals: !53)
!52 = !{}
!53 = !{!0, !20, !34}
!54 = !{i32 2, !"Debug Info Version", i32 3}
!55 = distinct !DISubprogram(name: "tracepoint_sched_sched_one_1", linkageName: "tracepoint_sched_sched_one_1", scope: !2, file: !2, type: !56, flags: DIFlagPrototyped, spFlags: DISPFlagDefinition, unit: !51, retainedNodes: !60)
!56 = !DISubroutineType(types: !57)
!57 = !{!18, !58}
!58 = !DIDerivedType(tag: DW_TAG_pointer_type, baseType: !59, size: 64)
!59 = !DIBasicType(name: "int8", size: 8, encoding: DW_ATE_signed)
!60 = !{!61}
!61 = !DILocalVariable(name: "ctx", arg: 1, scope: !55, file: !2, type: !58)
!62 = distinct !DISubprogram(name: "tracepoint_sched_sched_two_2", linkageName: "tracepoint_sched_sched_two_2", scope: !2, file: !2, type: !56, flags: DIFlagPrototyped, spFlags: DISPFlagDefinition, unit: !51, retainedNodes: !63)
!63 = !{!64}
!64 = !DILocalVariable(name: "ctx", arg: 1, scope: !62, file: !2, type: !58)
!43 = !DIDerivedType(tag: DW_TAG_member, name: "max_entries", scope: !2, file: !2, baseType: !6, size: 64, offset: 64)
!44 = !DIDerivedType(tag: DW_TAG_member, name: "key", scope: !2, file: !2, baseType: !45, size: 64, offset: 128)
!45 = !DIDerivedType(tag: DW_TAG_pointer_type, baseType: !46, size: 64)
!46 = !DIBasicType(name: "int32", size: 32, encoding: DW_ATE_signed)
!47 = distinct !DICompileUnit(language: DW_LANG_C, file: !2, producer: "bpftrace", isOptimized: false, runtimeVersion: 0, emissionKind: LineTablesOnly, enums: !48, globals: !49)
!48 = !{}
!49 = !{!0, !20, !34}
!50 = !{i32 2, !"Debug Info Version", i32 3}
!51 = distinct !DISubprogram(name: "tracepoint_sched_sched_one_1", linkageName: "tracepoint_sched_sched_one_1", scope: !2, file: !2, type: !52, flags: DIFlagPrototyped, spFlags: DISPFlagDefinition, unit: !47, retainedNodes: !56)
!52 = !DISubroutineType(types: !53)
!53 = !{!18, !54}
!54 = !DIDerivedType(tag: DW_TAG_pointer_type, baseType: !55, size: 64)
!55 = !DIBasicType(name: "int8", size: 8, encoding: DW_ATE_signed)
!56 = !{!57}
!57 = !DILocalVariable(name: "ctx", arg: 1, scope: !51, file: !2, type: !54)
!58 = distinct !DISubprogram(name: "tracepoint_sched_sched_two_2", linkageName: "tracepoint_sched_sched_two_2", scope: !2, file: !2, type: !52, flags: DIFlagPrototyped, spFlags: DISPFlagDefinition, unit: !47, retainedNodes: !59)
!59 = !{!60}
!60 = !DILocalVariable(name: "ctx", arg: 1, scope: !58, file: !2, type: !54)
Loading

0 comments on commit 6cc2798

Please sign in to comment.