Skip to content

Instantly share code, notes, and snippets.

@nikic

nikic/reduced.ll Secret

Created December 21, 2021 09:12
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save nikic/0b5ff77ab7248466eb525d934e98bbeb to your computer and use it in GitHub Desktop.
Save nikic/0b5ff77ab7248466eb525d934e98bbeb to your computer and use it in GitHub Desktop.
target triple = "thumbv7-apple-ios9.0.0"
%struct.ham = type { [1024 x i32], %struct.zot }
%struct.zot = type { [1 x i32], [1 x [32 x i32]] }
define i32 @wombat(%struct.ham* %arg, %struct.zot* %arg1, i32* %arg2) #0 !dbg !326 {
bb:
br label %bb3
bb3: ; preds = %bb14, %bb
%tmp4 = phi i32 [ %tmp8, %bb14 ], [ 0, %bb ]
%tmp5 = add i32 %tmp4, 1
%tmp6 = shl nuw i32 1, %tmp4
%tmp8 = and i32 %tmp4, %tmp6
store i32 0, i32* %arg2, align 4
%tmp10 = getelementptr inbounds %struct.ham, %struct.ham* %arg, i32 0, i32 1, i32 1, i32 0, i32 %tmp5
br i1 undef, label %bb11, label %bb13
bb11: ; preds = %bb3
%tmp12 = load i32, i32* null, align 4
br label %bb14
bb13: ; preds = %bb3
call void @llvm.dbg.value(metadata !DIArgList(%struct.ham* %arg, i32 %tmp5), metadata !337, metadata !DIExpression(DW_OP_LLVM_arg, 0, DW_OP_plus_uconst, 135168, DW_OP_LLVM_arg, 1, DW_OP_constu, 4, DW_OP_mul, DW_OP_plus, DW_OP_plus_uconst, 4, DW_OP_stack_value)), !dbg !341
store i32 0, i32* %tmp10, align 4, !dbg !367
br label %bb14
bb14: ; preds = %bb13, %bb11
%tmp15 = phi i32 [ 1, %bb11 ], [ 0, %bb13 ]
%tmp16 = getelementptr inbounds %struct.zot, %struct.zot* %arg1, i32 0, i32 1, i32 0, i32 %tmp5
%tmp17 = load i32, i32* %tmp16, align 4
%tmp18 = or i32 %tmp17, %tmp15
store i32 %tmp18, i32* %tmp10, align 4
br label %bb3
}
; Function Attrs: nofree nosync nounwind readnone speculatable willreturn
declare void @llvm.dbg.value(metadata, metadata, metadata) #1
attributes #0 = { "frame-pointer"="all" }
attributes #1 = { nofree nosync nounwind readnone speculatable willreturn }
!llvm.module.flags = !{!0, !1, !2, !3, !4, !5, !6, !7, !8, !9, !10}
!llvm.dbg.cu = !{!11}
!0 = !{i32 2, !"SDK Version", [2 x i32] [i32 15, i32 2]}
!1 = !{i32 7, !"Dwarf Version", i32 4}
!2 = !{i32 2, !"Debug Info Version", i32 3}
!3 = !{i32 1, !"wchar_size", i32 4}
!4 = !{i32 1, !"min_enum_size", i32 4}
!5 = !{i32 1, !"branch-target-enforcement", i32 0}
!6 = !{i32 1, !"sign-return-address", i32 0}
!7 = !{i32 1, !"sign-return-address-all", i32 0}
!8 = !{i32 7, !"PIC Level", i32 2}
!9 = !{i32 7, !"uwtable", i32 1}
!10 = !{i32 7, !"frame-pointer", i32 2}
!11 = distinct !DICompileUnit(language: DW_LANG_C_plus_plus_14, file: !12, producer: "clang version 14.0.0", isOptimized: true, runtimeVersion: 0, emissionKind: FullDebug, enums: !13, retainedTypes: !218, imports: !300, splitDebugInlining: false, nameTableKind: None, sysroot: "/")
!12 = !DIFile(filename: "sanitizer_deadlock_detector1.cpp", directory: "/Users/alex/llvm-project/b-ra")
!13 = !{!14, !22, !47, !56, !214, !217}
!14 = distinct !DICompositeType(tag: DW_TAG_enumeration_type, name: "AllocatorStat", scope: !16, file: !15, line: 17, baseType: !17, size: 32, elements: !18, identifier: "_ZTSN11__sanitizer13AllocatorStatE")
!15 = !DIFile(filename: "compiler-rt/lib/sanitizer_common/sanitizer_allocator_stats.h", directory: "/Users/alex/llvm-project")
!16 = !DINamespace(name: "__sanitizer", scope: null)
!17 = !DIBasicType(name: "unsigned int", size: 32, encoding: DW_ATE_unsigned)
!18 = !{!19, !20, !21}
!19 = !DIEnumerator(name: "AllocatorStatAllocated", value: 0, isUnsigned: true)
!20 = !DIEnumerator(name: "AllocatorStatMapped", value: 1, isUnsigned: true)
!21 = !DIEnumerator(name: "AllocatorStatCount", value: 2, isUnsigned: true)
!22 = distinct !DICompositeType(tag: DW_TAG_enumeration_type, scope: !24, file: !23, line: 53, baseType: !17, size: 32, elements: !45, identifier: "_ZTSN11__sanitizer8DDReportUt_E")
!23 = !DIFile(filename: "compiler-rt/lib/sanitizer_common/sanitizer_deadlock_detector_interface.h", directory: "/Users/alex/llvm-project")
!24 = distinct !DICompositeType(tag: DW_TAG_structure_type, name: "DDReport", scope: !16, file: !23, line: 52, size: 5152, flags: DIFlagTypePassByValue, elements: !25, identifier: "_ZTSN11__sanitizer8DDReportE")
!25 = !{!26, !28}
!26 = !DIDerivedType(tag: DW_TAG_member, name: "n", scope: !24, file: !23, line: 54, baseType: !27, size: 32)
!27 = !DIBasicType(name: "int", size: 32, encoding: DW_ATE_signed)
!28 = !DIDerivedType(tag: DW_TAG_member, name: "loop", scope: !24, file: !23, line: 60, baseType: !29, size: 5120, offset: 32)
!29 = !DICompositeType(tag: DW_TAG_array_type, baseType: !30, size: 5120, elements: !43)
!30 = distinct !DICompositeType(tag: DW_TAG_structure_type, scope: !24, file: !23, line: 55, size: 256, flags: DIFlagTypePassByValue, elements: !31, identifier: "_ZTSN11__sanitizer8DDReportUt0_E")
!31 = !{!32, !36, !37, !38}
!32 = !DIDerivedType(tag: DW_TAG_member, name: "thr_ctx", scope: !30, file: !23, line: 56, baseType: !33, size: 64)
!33 = !DIDerivedType(tag: DW_TAG_typedef, name: "u64", scope: !16, file: !34, line: 160, baseType: !35)
!34 = !DIFile(filename: "compiler-rt/lib/sanitizer_common/sanitizer_internal_defs.h", directory: "/Users/alex/llvm-project")
!35 = !DIBasicType(name: "unsigned long long", size: 64, encoding: DW_ATE_unsigned)
!36 = !DIDerivedType(tag: DW_TAG_member, name: "mtx_ctx0", scope: !30, file: !23, line: 57, baseType: !33, size: 64, offset: 64)
!37 = !DIDerivedType(tag: DW_TAG_member, name: "mtx_ctx1", scope: !30, file: !23, line: 58, baseType: !33, size: 64, offset: 128)
!38 = !DIDerivedType(tag: DW_TAG_member, name: "stk", scope: !30, file: !23, line: 59, baseType: !39, size: 64, offset: 192)
!39 = !DICompositeType(tag: DW_TAG_array_type, baseType: !40, size: 64, elements: !41)
!40 = !DIDerivedType(tag: DW_TAG_typedef, name: "u32", scope: !16, file: !34, line: 159, baseType: !17)
!41 = !{!42}
!42 = !DISubrange(count: 2)
!43 = !{!44}
!44 = !DISubrange(count: 20)
!45 = !{!46}
!46 = !DIEnumerator(name: "kMaxLoopSize", value: 20, isUnsigned: true)
!47 = distinct !DICompositeType(tag: DW_TAG_enumeration_type, name: "memory_order", scope: !16, file: !48, line: 20, baseType: !17, size: 32, elements: !49, identifier: "_ZTSN11__sanitizer12memory_orderE")
!48 = !DIFile(filename: "compiler-rt/lib/sanitizer_common/sanitizer_atomic.h", directory: "/Users/alex/llvm-project")
!49 = !{!50, !51, !52, !53, !54, !55}
!50 = !DIEnumerator(name: "memory_order_relaxed", value: 1, isUnsigned: true)
!51 = !DIEnumerator(name: "memory_order_consume", value: 2, isUnsigned: true)
!52 = !DIEnumerator(name: "memory_order_acquire", value: 4, isUnsigned: true)
!53 = !DIEnumerator(name: "memory_order_release", value: 8, isUnsigned: true)
!54 = !DIEnumerator(name: "memory_order_acq_rel", value: 16, isUnsigned: true)
!55 = !DIEnumerator(name: "memory_order_seq_cst", value: 32, isUnsigned: true)
!56 = distinct !DICompositeType(tag: DW_TAG_enumeration_type, name: "SizeEnum", scope: !58, file: !57, line: 27, baseType: !74, size: 32, elements: !212, identifier: "_ZTSN11__sanitizer7BVGraphINS_17TwoLevelBitVectorILm1ENS_14BasicBitVectorImEEEEE8SizeEnumE")
!57 = !DIFile(filename: "compiler-rt/lib/sanitizer_common/sanitizer_bvgraph.h", directory: "/Users/alex/llvm-project")
!58 = distinct !DICompositeType(tag: DW_TAG_class_type, name: "BVGraph<__sanitizer::TwoLevelBitVector<1UL, __sanitizer::BasicBitVector<unsigned long> > >", scope: !16, file: !57, line: 25, size: 1083456, flags: DIFlagTypePassByValue, elements: !59, templateParams: !210, identifier: "_ZTSN11__sanitizer7BVGraphINS_17TwoLevelBitVectorILm1ENS_14BasicBitVectorImEEEEEE")
!59 = !{!60, !167, !168, !169, !174, !178, !181, !184, !188, !189, !190, !193, !194, !197, !200, !203, !206, !207}
!60 = !DIDerivedType(tag: DW_TAG_member, name: "v", scope: !58, file: !57, line: 157, baseType: !61, size: 1081344)
!61 = !DICompositeType(tag: DW_TAG_array_type, baseType: !62, size: 1081344, elements: !165)
!62 = distinct !DICompositeType(tag: DW_TAG_class_type, name: "TwoLevelBitVector<1UL, __sanitizer::BasicBitVector<unsigned long> >", scope: !16, file: !63, line: 110, size: 1056, flags: DIFlagTypePassByValue, elements: !64, templateParams: !162, identifier: "_ZTSN11__sanitizer17TwoLevelBitVectorILm1ENS_14BasicBitVectorImEEEE")
!63 = !DIFile(filename: "compiler-rt/lib/sanitizer_common/sanitizer_bitvector.h", directory: "/Users/alex/llvm-project")
!64 = !{!65, !115, !119, !124, !128, !129, !132, !135, !136, !139, !142, !146, !147, !148, !151, !154, !157, !160, !161}
!65 = !DIDerivedType(tag: DW_TAG_member, name: "l1_", scope: !62, file: !63, line: 344, baseType: !66, size: 32)
!66 = !DICompositeType(tag: DW_TAG_array_type, baseType: !67, size: 32, elements: !113)
!67 = distinct !DICompositeType(tag: DW_TAG_class_type, name: "BasicBitVector<unsigned long>", scope: !16, file: !63, line: 22, size: 32, flags: DIFlagTypePassByValue, elements: !68, templateParams: !111, identifier: "_ZTSN11__sanitizer14BasicBitVectorImEE")
!68 = !{!69, !71, !77, !81, !82, !86, !89, !90, !93, !96, !100, !101, !102, !105, !108}
!69 = !DIDerivedType(tag: DW_TAG_member, name: "bits_", scope: !67, file: !63, line: 103, baseType: !70, size: 32)
!70 = !DIBasicType(name: "unsigned long", size: 32, encoding: DW_ATE_unsigned)
!71 = !DISubprogram(name: "size", linkageName: "_ZNK11__sanitizer14BasicBitVectorImE4sizeEv", scope: !67, file: !63, line: 26, type: !72, scopeLine: 26, flags: DIFlagPublic | DIFlagPrototyped, spFlags: DISPFlagOptimized)
!72 = !DISubroutineType(types: !73)
!73 = !{!74, !75}
!74 = !DIDerivedType(tag: DW_TAG_typedef, name: "uptr", scope: !16, file: !34, line: 143, baseType: !70)
!75 = !DIDerivedType(tag: DW_TAG_pointer_type, baseType: !76, size: 32, flags: DIFlagArtificial | DIFlagObjectPointer)
!76 = !DIDerivedType(tag: DW_TAG_const_type, baseType: !67)
!77 = !DISubprogram(name: "clear", linkageName: "_ZN11__sanitizer14BasicBitVectorImE5clearEv", scope: !67, file: !63, line: 28, type: !78, scopeLine: 28, flags: DIFlagPublic | DIFlagPrototyped, spFlags: DISPFlagOptimized)
!78 = !DISubroutineType(types: !79)
!79 = !{null, !80}
!80 = !DIDerivedType(tag: DW_TAG_pointer_type, baseType: !67, size: 32, flags: DIFlagArtificial | DIFlagObjectPointer)
!81 = !DISubprogram(name: "setAll", linkageName: "_ZN11__sanitizer14BasicBitVectorImE6setAllEv", scope: !67, file: !63, line: 29, type: !78, scopeLine: 29, flags: DIFlagPublic | DIFlagPrototyped, spFlags: DISPFlagOptimized)
!82 = !DISubprogram(name: "empty", linkageName: "_ZNK11__sanitizer14BasicBitVectorImE5emptyEv", scope: !67, file: !63, line: 30, type: !83, scopeLine: 30, flags: DIFlagPublic | DIFlagPrototyped, spFlags: DISPFlagOptimized)
!83 = !DISubroutineType(types: !84)
!84 = !{!85, !75}
!85 = !DIBasicType(name: "bool", size: 8, encoding: DW_ATE_boolean)
!86 = !DISubprogram(name: "setBit", linkageName: "_ZN11__sanitizer14BasicBitVectorImE6setBitEm", scope: !67, file: !63, line: 33, type: !87, scopeLine: 33, flags: DIFlagPublic | DIFlagPrototyped, spFlags: DISPFlagOptimized)
!87 = !DISubroutineType(types: !88)
!88 = !{!85, !80, !74}
!89 = !DISubprogram(name: "clearBit", linkageName: "_ZN11__sanitizer14BasicBitVectorImE8clearBitEm", scope: !67, file: !63, line: 40, type: !87, scopeLine: 40, flags: DIFlagPublic | DIFlagPrototyped, spFlags: DISPFlagOptimized)
!90 = !DISubprogram(name: "getBit", linkageName: "_ZNK11__sanitizer14BasicBitVectorImE6getBitEm", scope: !67, file: !63, line: 46, type: !91, scopeLine: 46, flags: DIFlagPublic | DIFlagPrototyped, spFlags: DISPFlagOptimized)
!91 = !DISubroutineType(types: !92)
!92 = !{!85, !75, !74}
!93 = !DISubprogram(name: "getAndClearFirstOne", linkageName: "_ZN11__sanitizer14BasicBitVectorImE19getAndClearFirstOneEv", scope: !67, file: !63, line: 48, type: !94, scopeLine: 48, flags: DIFlagPublic | DIFlagPrototyped, spFlags: DISPFlagOptimized)
!94 = !DISubroutineType(types: !95)
!95 = !{!74, !80}
!96 = !DISubprogram(name: "setUnion", linkageName: "_ZN11__sanitizer14BasicBitVectorImE8setUnionERKS1_", scope: !67, file: !63, line: 56, type: !97, scopeLine: 56, flags: DIFlagPublic | DIFlagPrototyped, spFlags: DISPFlagOptimized)
!97 = !DISubroutineType(types: !98)
!98 = !{!85, !80, !99}
!99 = !DIDerivedType(tag: DW_TAG_reference_type, baseType: !76, size: 32)
!100 = !DISubprogram(name: "setIntersection", linkageName: "_ZN11__sanitizer14BasicBitVectorImE15setIntersectionERKS1_", scope: !67, file: !63, line: 63, type: !97, scopeLine: 63, flags: DIFlagPublic | DIFlagPrototyped, spFlags: DISPFlagOptimized)
!101 = !DISubprogram(name: "setDifference", linkageName: "_ZN11__sanitizer14BasicBitVectorImE13setDifferenceERKS1_", scope: !67, file: !63, line: 70, type: !97, scopeLine: 70, flags: DIFlagPublic | DIFlagPrototyped, spFlags: DISPFlagOptimized)
!102 = !DISubprogram(name: "copyFrom", linkageName: "_ZN11__sanitizer14BasicBitVectorImE8copyFromERKS1_", scope: !67, file: !63, line: 76, type: !103, scopeLine: 76, flags: DIFlagPublic | DIFlagPrototyped, spFlags: DISPFlagOptimized)
!103 = !DISubroutineType(types: !104)
!104 = !{null, !80, !99}
!105 = !DISubprogram(name: "intersectsWith", linkageName: "_ZNK11__sanitizer14BasicBitVectorImE14intersectsWithERKS1_", scope: !67, file: !63, line: 79, type: !106, scopeLine: 79, flags: DIFlagPublic | DIFlagPrototyped, spFlags: DISPFlagOptimized)
!106 = !DISubroutineType(types: !107)
!107 = !{!85, !75, !99}
!108 = !DISubprogram(name: "mask", linkageName: "_ZNK11__sanitizer14BasicBitVectorImE4maskEm", scope: !67, file: !63, line: 99, type: !109, scopeLine: 99, flags: DIFlagPrototyped, spFlags: DISPFlagOptimized)
!109 = !DISubroutineType(types: !110)
!110 = !{!70, !75, !74}
!111 = !{!112}
!112 = !DITemplateTypeParameter(name: "basic_int_t", type: !70)
!113 = !{!114}
!114 = !DISubrange(count: 1)
!115 = !DIDerivedType(tag: DW_TAG_member, name: "l2_", scope: !62, file: !63, line: 345, baseType: !116, size: 1024, offset: 32)
!116 = !DICompositeType(tag: DW_TAG_array_type, baseType: !67, size: 1024, elements: !117)
!117 = !{!114, !118}
!118 = !DISubrange(count: 32)
!119 = !DISubprogram(name: "size", linkageName: "_ZNK11__sanitizer17TwoLevelBitVectorILm1ENS_14BasicBitVectorImEEE4sizeEv", scope: !62, file: !63, line: 120, type: !120, scopeLine: 120, flags: DIFlagPublic | DIFlagPrototyped, spFlags: DISPFlagOptimized)
!120 = !DISubroutineType(types: !121)
!121 = !{!74, !122}
!122 = !DIDerivedType(tag: DW_TAG_pointer_type, baseType: !123, size: 32, flags: DIFlagArtificial | DIFlagObjectPointer)
!123 = !DIDerivedType(tag: DW_TAG_const_type, baseType: !62)
!124 = !DISubprogram(name: "clear", linkageName: "_ZN11__sanitizer17TwoLevelBitVectorILm1ENS_14BasicBitVectorImEEE5clearEv", scope: !62, file: !63, line: 122, type: !125, scopeLine: 122, flags: DIFlagPublic | DIFlagPrototyped, spFlags: DISPFlagOptimized)
!125 = !DISubroutineType(types: !126)
!126 = !{null, !127}
!127 = !DIDerivedType(tag: DW_TAG_pointer_type, baseType: !62, size: 32, flags: DIFlagArtificial | DIFlagObjectPointer)
!128 = !DISubprogram(name: "setAll", linkageName: "_ZN11__sanitizer17TwoLevelBitVectorILm1ENS_14BasicBitVectorImEEE6setAllEv", scope: !62, file: !63, line: 127, type: !125, scopeLine: 127, flags: DIFlagPublic | DIFlagPrototyped, spFlags: DISPFlagOptimized)
!129 = !DISubprogram(name: "empty", linkageName: "_ZNK11__sanitizer17TwoLevelBitVectorILm1ENS_14BasicBitVectorImEEE5emptyEv", scope: !62, file: !63, line: 135, type: !130, scopeLine: 135, flags: DIFlagPublic | DIFlagPrototyped, spFlags: DISPFlagOptimized)
!130 = !DISubroutineType(types: !131)
!131 = !{!85, !122}
!132 = !DISubprogram(name: "setBit", linkageName: "_ZN11__sanitizer17TwoLevelBitVectorILm1ENS_14BasicBitVectorImEEE6setBitEm", scope: !62, file: !63, line: 143, type: !133, scopeLine: 143, flags: DIFlagPublic | DIFlagPrototyped, spFlags: DISPFlagOptimized)
!133 = !DISubroutineType(types: !134)
!134 = !{!85, !127, !74}
!135 = !DISubprogram(name: "clearBit", linkageName: "_ZN11__sanitizer17TwoLevelBitVectorILm1ENS_14BasicBitVectorImEEE8clearBitEm", scope: !62, file: !63, line: 158, type: !133, scopeLine: 158, flags: DIFlagPublic | DIFlagPrototyped, spFlags: DISPFlagOptimized)
!136 = !DISubprogram(name: "getBit", linkageName: "_ZNK11__sanitizer17TwoLevelBitVectorILm1ENS_14BasicBitVectorImEEE6getBitEm", scope: !62, file: !63, line: 172, type: !137, scopeLine: 172, flags: DIFlagPublic | DIFlagPrototyped, spFlags: DISPFlagOptimized)
!137 = !DISubroutineType(types: !138)
!138 = !{!85, !122, !74}
!139 = !DISubprogram(name: "getAndClearFirstOne", linkageName: "_ZN11__sanitizer17TwoLevelBitVectorILm1ENS_14BasicBitVectorImEEE19getAndClearFirstOneEv", scope: !62, file: !63, line: 181, type: !140, scopeLine: 181, flags: DIFlagPublic | DIFlagPrototyped, spFlags: DISPFlagOptimized)
!140 = !DISubroutineType(types: !141)
!141 = !{!74, !127}
!142 = !DISubprogram(name: "setUnion", linkageName: "_ZN11__sanitizer17TwoLevelBitVectorILm1ENS_14BasicBitVectorImEEE8setUnionERKS3_", scope: !62, file: !63, line: 197, type: !143, scopeLine: 197, flags: DIFlagPublic | DIFlagPrototyped, spFlags: DISPFlagOptimized)
!143 = !DISubroutineType(types: !144)
!144 = !{!85, !127, !145}
!145 = !DIDerivedType(tag: DW_TAG_reference_type, baseType: !123, size: 32)
!146 = !DISubprogram(name: "setIntersection", linkageName: "_ZN11__sanitizer17TwoLevelBitVectorILm1ENS_14BasicBitVectorImEEE15setIntersectionERKS3_", scope: !62, file: !63, line: 213, type: !143, scopeLine: 213, flags: DIFlagPublic | DIFlagPrototyped, spFlags: DISPFlagOptimized)
!147 = !DISubprogram(name: "setDifference", linkageName: "_ZN11__sanitizer17TwoLevelBitVectorILm1ENS_14BasicBitVectorImEEE13setDifferenceERKS3_", scope: !62, file: !63, line: 233, type: !143, scopeLine: 233, flags: DIFlagPublic | DIFlagPrototyped, spFlags: DISPFlagOptimized)
!148 = !DISubprogram(name: "copyFrom", linkageName: "_ZN11__sanitizer17TwoLevelBitVectorILm1ENS_14BasicBitVectorImEEE8copyFromERKS3_", scope: !62, file: !63, line: 249, type: !149, scopeLine: 249, flags: DIFlagPublic | DIFlagPrototyped, spFlags: DISPFlagOptimized)
!149 = !DISubroutineType(types: !150)
!150 = !{null, !127, !145}
!151 = !DISubprogram(name: "intersectsWith", linkageName: "_ZNK11__sanitizer17TwoLevelBitVectorILm1ENS_14BasicBitVectorImEEE14intersectsWithERKS3_", scope: !62, file: !63, line: 255, type: !152, scopeLine: 255, flags: DIFlagPublic | DIFlagPrototyped, spFlags: DISPFlagOptimized)
!152 = !DISubroutineType(types: !153)
!153 = !{!85, !122, !145}
!154 = !DISubprogram(name: "check", linkageName: "_ZNK11__sanitizer17TwoLevelBitVectorILm1ENS_14BasicBitVectorImEEE5checkEm", scope: !62, file: !63, line: 324, type: !155, scopeLine: 324, flags: DIFlagPrototyped, spFlags: DISPFlagOptimized)
!155 = !DISubroutineType(types: !156)
!156 = !{null, !122, !74}
!157 = !DISubprogram(name: "idx0", linkageName: "_ZNK11__sanitizer17TwoLevelBitVectorILm1ENS_14BasicBitVectorImEEE4idx0Em", scope: !62, file: !63, line: 326, type: !158, scopeLine: 326, flags: DIFlagPrototyped, spFlags: DISPFlagOptimized)
!158 = !DISubroutineType(types: !159)
!159 = !{!74, !122, !74}
!160 = !DISubprogram(name: "idx1", linkageName: "_ZNK11__sanitizer17TwoLevelBitVectorILm1ENS_14BasicBitVectorImEEE4idx1Em", scope: !62, file: !63, line: 332, type: !158, scopeLine: 332, flags: DIFlagPrototyped, spFlags: DISPFlagOptimized)
!161 = !DISubprogram(name: "idx2", linkageName: "_ZNK11__sanitizer17TwoLevelBitVectorILm1ENS_14BasicBitVectorImEEE4idx2Em", scope: !62, file: !63, line: 338, type: !158, scopeLine: 338, flags: DIFlagPrototyped, spFlags: DISPFlagOptimized)
!162 = !{!163, !164}
!163 = !DITemplateValueParameter(name: "kLevel1Size", type: !70, value: i32 1)
!164 = !DITemplateTypeParameter(name: "BV", type: !67)
!165 = !{!166}
!166 = !DISubrange(count: 1024)
!167 = !DIDerivedType(tag: DW_TAG_member, name: "t1", scope: !58, file: !57, line: 159, baseType: !62, size: 1056, offset: 1081344)
!168 = !DIDerivedType(tag: DW_TAG_member, name: "t2", scope: !58, file: !57, line: 159, baseType: !62, size: 1056, offset: 1082400)
!169 = !DISubprogram(name: "size", linkageName: "_ZNK11__sanitizer7BVGraphINS_17TwoLevelBitVectorILm1ENS_14BasicBitVectorImEEEEE4sizeEv", scope: !58, file: !57, line: 28, type: !170, scopeLine: 28, flags: DIFlagPublic | DIFlagPrototyped, spFlags: DISPFlagOptimized)
!170 = !DISubroutineType(types: !171)
!171 = !{!74, !172}
!172 = !DIDerivedType(tag: DW_TAG_pointer_type, baseType: !173, size: 32, flags: DIFlagArtificial | DIFlagObjectPointer)
!173 = !DIDerivedType(tag: DW_TAG_const_type, baseType: !58)
!174 = !DISubprogram(name: "clear", linkageName: "_ZN11__sanitizer7BVGraphINS_17TwoLevelBitVectorILm1ENS_14BasicBitVectorImEEEEE5clearEv", scope: !58, file: !57, line: 30, type: !175, scopeLine: 30, flags: DIFlagPublic | DIFlagPrototyped, spFlags: DISPFlagOptimized)
!175 = !DISubroutineType(types: !176)
!176 = !{null, !177}
!177 = !DIDerivedType(tag: DW_TAG_pointer_type, baseType: !58, size: 32, flags: DIFlagArtificial | DIFlagObjectPointer)
!178 = !DISubprogram(name: "empty", linkageName: "_ZNK11__sanitizer7BVGraphINS_17TwoLevelBitVectorILm1ENS_14BasicBitVectorImEEEEE5emptyEv", scope: !58, file: !57, line: 35, type: !179, scopeLine: 35, flags: DIFlagPublic | DIFlagPrototyped, spFlags: DISPFlagOptimized)
!179 = !DISubroutineType(types: !180)
!180 = !{!85, !172}
!181 = !DISubprogram(name: "addEdge", linkageName: "_ZN11__sanitizer7BVGraphINS_17TwoLevelBitVectorILm1ENS_14BasicBitVectorImEEEEE7addEdgeEmm", scope: !58, file: !57, line: 43, type: !182, scopeLine: 43, flags: DIFlagPublic | DIFlagPrototyped, spFlags: DISPFlagOptimized)
!182 = !DISubroutineType(types: !183)
!183 = !{!85, !177, !74, !74}
!184 = !DISubprogram(name: "addEdges", linkageName: "_ZN11__sanitizer7BVGraphINS_17TwoLevelBitVectorILm1ENS_14BasicBitVectorImEEEEE8addEdgesERKS4_mPmm", scope: !58, file: !57, line: 49, type: !185, scopeLine: 49, flags: DIFlagPublic | DIFlagPrototyped, spFlags: DISPFlagOptimized)
!185 = !DISubroutineType(types: !186)
!186 = !{!74, !177, !145, !74, !187, !74}
!187 = !DIDerivedType(tag: DW_TAG_pointer_type, baseType: !74, size: 32)
!188 = !DISubprogram(name: "hasEdge", linkageName: "_ZN11__sanitizer7BVGraphINS_17TwoLevelBitVectorILm1ENS_14BasicBitVectorImEEEEE7hasEdgeEmm", scope: !58, file: !57, line: 68, type: !182, scopeLine: 68, flags: DIFlagPublic | DIFlagPrototyped, spFlags: DISPFlagOptimized)
!189 = !DISubprogram(name: "removeEdge", linkageName: "_ZN11__sanitizer7BVGraphINS_17TwoLevelBitVectorILm1ENS_14BasicBitVectorImEEEEE10removeEdgeEmm", scope: !58, file: !57, line: 71, type: !182, scopeLine: 71, flags: DIFlagPublic | DIFlagPrototyped, spFlags: DISPFlagOptimized)
!190 = !DISubprogram(name: "removeEdgesTo", linkageName: "_ZN11__sanitizer7BVGraphINS_17TwoLevelBitVectorILm1ENS_14BasicBitVectorImEEEEE13removeEdgesToERKS4_", scope: !58, file: !57, line: 76, type: !191, scopeLine: 76, flags: DIFlagPublic | DIFlagPrototyped, spFlags: DISPFlagOptimized)
!191 = !DISubroutineType(types: !192)
!192 = !{!85, !177, !145}
!193 = !DISubprogram(name: "removeEdgesFrom", linkageName: "_ZN11__sanitizer7BVGraphINS_17TwoLevelBitVectorILm1ENS_14BasicBitVectorImEEEEE15removeEdgesFromERKS4_", scope: !58, file: !57, line: 86, type: !191, scopeLine: 86, flags: DIFlagPublic | DIFlagPrototyped, spFlags: DISPFlagOptimized)
!194 = !DISubprogram(name: "removeEdgesFrom", linkageName: "_ZN11__sanitizer7BVGraphINS_17TwoLevelBitVectorILm1ENS_14BasicBitVectorImEEEEE15removeEdgesFromEm", scope: !58, file: !57, line: 99, type: !195, scopeLine: 99, flags: DIFlagPublic | DIFlagPrototyped, spFlags: DISPFlagOptimized)
!195 = !DISubroutineType(types: !196)
!196 = !{null, !177, !74}
!197 = !DISubprogram(name: "hasEdge", linkageName: "_ZNK11__sanitizer7BVGraphINS_17TwoLevelBitVectorILm1ENS_14BasicBitVectorImEEEEE7hasEdgeEmm", scope: !58, file: !57, line: 103, type: !198, scopeLine: 103, flags: DIFlagPublic | DIFlagPrototyped, spFlags: DISPFlagOptimized)
!198 = !DISubroutineType(types: !199)
!199 = !{!85, !172, !74, !74}
!200 = !DISubprogram(name: "isReachable", linkageName: "_ZN11__sanitizer7BVGraphINS_17TwoLevelBitVectorILm1ENS_14BasicBitVectorImEEEEE11isReachableEmRKS4_", scope: !58, file: !57, line: 110, type: !201, scopeLine: 110, flags: DIFlagPublic | DIFlagPrototyped, spFlags: DISPFlagOptimized)
!201 = !DISubroutineType(types: !202)
!202 = !{!85, !177, !74, !145}
!203 = !DISubprogram(name: "findPath", linkageName: "_ZN11__sanitizer7BVGraphINS_17TwoLevelBitVectorILm1ENS_14BasicBitVectorImEEEEE8findPathEmRKS4_Pmm", scope: !58, file: !57, line: 127, type: !204, scopeLine: 127, flags: DIFlagPublic | DIFlagPrototyped, spFlags: DISPFlagOptimized)
!204 = !DISubroutineType(types: !205)
!205 = !{!74, !177, !74, !145, !187, !74}
!206 = !DISubprogram(name: "findShortestPath", linkageName: "_ZN11__sanitizer7BVGraphINS_17TwoLevelBitVectorILm1ENS_14BasicBitVectorImEEEEE16findShortestPathEmRKS4_Pmm", scope: !58, file: !57, line: 144, type: !204, scopeLine: 144, flags: DIFlagPublic | DIFlagPrototyped, spFlags: DISPFlagOptimized)
!207 = !DISubprogram(name: "check", linkageName: "_ZNK11__sanitizer7BVGraphINS_17TwoLevelBitVectorILm1ENS_14BasicBitVectorImEEEEE5checkEmm", scope: !58, file: !57, line: 153, type: !208, scopeLine: 153, flags: DIFlagPrototyped, spFlags: DISPFlagOptimized)
!208 = !DISubroutineType(types: !209)
!209 = !{null, !172, !74, !74}
!210 = !{!211}
!211 = !DITemplateTypeParameter(name: "BV", type: !62)
!212 = !{!213}
!213 = !DIEnumerator(name: "kSize", value: 1024, isUnsigned: true)
!214 = distinct !DICompositeType(tag: DW_TAG_enumeration_type, name: "SizeEnum", scope: !67, file: !63, line: 24, baseType: !74, size: 32, elements: !215, identifier: "_ZTSN11__sanitizer14BasicBitVectorImE8SizeEnumE")
!215 = !{!216}
!216 = !DIEnumerator(name: "kSize", value: 32, isUnsigned: true)
!217 = distinct !DICompositeType(tag: DW_TAG_enumeration_type, name: "SizeEnum", scope: !62, file: !63, line: 117, baseType: !74, size: 32, elements: !212, identifier: "_ZTSN11__sanitizer17TwoLevelBitVectorILm1ENS_14BasicBitVectorImEEE8SizeEnumE")
!218 = !{!219, !74, !33, !273, !70, !279, !40, !281}
!219 = !DIDerivedType(tag: DW_TAG_pointer_type, baseType: !220, size: 32)
!220 = distinct !DICompositeType(tag: DW_TAG_structure_type, name: "DDLogicalThread", scope: !16, file: !221, line: 28, size: 12544, flags: DIFlagTypePassByValue, elements: !222, identifier: "_ZTSN11__sanitizer15DDLogicalThreadE")
!221 = !DIFile(filename: "compiler-rt/lib/sanitizer_common/sanitizer_deadlock_detector1.cpp", directory: "/Users/alex/llvm-project")
!222 = !{!223, !224, !271, !272}
!223 = !DIDerivedType(tag: DW_TAG_member, name: "ctx", scope: !220, file: !221, line: 29, baseType: !33, size: 64)
!224 = !DIDerivedType(tag: DW_TAG_member, name: "dd", scope: !220, file: !221, line: 30, baseType: !225, size: 7296, offset: 64)
!225 = distinct !DICompositeType(tag: DW_TAG_class_type, name: "DeadlockDetectorTLS<__sanitizer::TwoLevelBitVector<1UL, __sanitizer::BasicBitVector<unsigned long> > >", scope: !16, file: !226, line: 36, size: 7296, flags: DIFlagTypePassByValue, elements: !227, templateParams: !210, identifier: "_ZTSN11__sanitizer19DeadlockDetectorTLSINS_17TwoLevelBitVectorILm1ENS_14BasicBitVectorImEEEEEE")
!226 = !DIFile(filename: "compiler-rt/lib/sanitizer_common/sanitizer_deadlock_detector.h", directory: "/Users/alex/llvm-project")
!227 = !{!228, !229, !230, !234, !235, !241, !242, !246, !251, !254, !257, !260, !261, !264, !267, !268}
!228 = !DIDerivedType(tag: DW_TAG_member, name: "bv_", scope: !225, file: !226, line: 115, baseType: !62, size: 1056)
!229 = !DIDerivedType(tag: DW_TAG_member, name: "epoch_", scope: !225, file: !226, line: 116, baseType: !74, size: 32, offset: 1056)
!230 = !DIDerivedType(tag: DW_TAG_member, name: "recursive_locks", scope: !225, file: !226, line: 117, baseType: !231, size: 2048, offset: 1088)
!231 = !DICompositeType(tag: DW_TAG_array_type, baseType: !74, size: 2048, elements: !232)
!232 = !{!233}
!233 = !DISubrange(count: 64)
!234 = !DIDerivedType(tag: DW_TAG_member, name: "n_recursive_locks", scope: !225, file: !226, line: 118, baseType: !74, size: 32, offset: 3136)
!235 = !DIDerivedType(tag: DW_TAG_member, name: "all_locks_with_contexts_", scope: !225, file: !226, line: 123, baseType: !236, size: 4096, offset: 3168)
!236 = !DICompositeType(tag: DW_TAG_array_type, baseType: !237, size: 4096, elements: !232)
!237 = distinct !DICompositeType(tag: DW_TAG_structure_type, name: "LockWithContext", scope: !225, file: !226, line: 119, size: 64, flags: DIFlagTypePassByValue, elements: !238, identifier: "_ZTSN11__sanitizer19DeadlockDetectorTLSINS_17TwoLevelBitVectorILm1ENS_14BasicBitVectorImEEEEE15LockWithContextE")
!238 = !{!239, !240}
!239 = !DIDerivedType(tag: DW_TAG_member, name: "lock", scope: !237, file: !226, line: 120, baseType: !40, size: 32)
!240 = !DIDerivedType(tag: DW_TAG_member, name: "stk", scope: !237, file: !226, line: 121, baseType: !40, size: 32, offset: 32)
!241 = !DIDerivedType(tag: DW_TAG_member, name: "n_all_locks_", scope: !225, file: !226, line: 124, baseType: !74, size: 32, offset: 7264)
!242 = !DISubprogram(name: "clear", linkageName: "_ZN11__sanitizer19DeadlockDetectorTLSINS_17TwoLevelBitVectorILm1ENS_14BasicBitVectorImEEEEE5clearEv", scope: !225, file: !226, line: 39, type: !243, scopeLine: 39, flags: DIFlagPublic | DIFlagPrototyped, spFlags: DISPFlagOptimized)
!243 = !DISubroutineType(types: !244)
!244 = !{null, !245}
!245 = !DIDerivedType(tag: DW_TAG_pointer_type, baseType: !225, size: 32, flags: DIFlagArtificial | DIFlagObjectPointer)
!246 = !DISubprogram(name: "empty", linkageName: "_ZNK11__sanitizer19DeadlockDetectorTLSINS_17TwoLevelBitVectorILm1ENS_14BasicBitVectorImEEEEE5emptyEv", scope: !225, file: !226, line: 46, type: !247, scopeLine: 46, flags: DIFlagPublic | DIFlagPrototyped, spFlags: DISPFlagOptimized)
!247 = !DISubroutineType(types: !248)
!248 = !{!85, !249}
!249 = !DIDerivedType(tag: DW_TAG_pointer_type, baseType: !250, size: 32, flags: DIFlagArtificial | DIFlagObjectPointer)
!250 = !DIDerivedType(tag: DW_TAG_const_type, baseType: !225)
!251 = !DISubprogram(name: "ensureCurrentEpoch", linkageName: "_ZN11__sanitizer19DeadlockDetectorTLSINS_17TwoLevelBitVectorILm1ENS_14BasicBitVectorImEEEEE18ensureCurrentEpochEm", scope: !225, file: !226, line: 48, type: !252, scopeLine: 48, flags: DIFlagPublic | DIFlagPrototyped, spFlags: DISPFlagOptimized)
!252 = !DISubroutineType(types: !253)
!253 = !{null, !245, !74}
!254 = !DISubprogram(name: "getEpoch", linkageName: "_ZNK11__sanitizer19DeadlockDetectorTLSINS_17TwoLevelBitVectorILm1ENS_14BasicBitVectorImEEEEE8getEpochEv", scope: !225, file: !226, line: 56, type: !255, scopeLine: 56, flags: DIFlagPublic | DIFlagPrototyped, spFlags: DISPFlagOptimized)
!255 = !DISubroutineType(types: !256)
!256 = !{!74, !249}
!257 = !DISubprogram(name: "addLock", linkageName: "_ZN11__sanitizer19DeadlockDetectorTLSINS_17TwoLevelBitVectorILm1ENS_14BasicBitVectorImEEEEE7addLockEmmj", scope: !225, file: !226, line: 59, type: !258, scopeLine: 59, flags: DIFlagPublic | DIFlagPrototyped, spFlags: DISPFlagOptimized)
!258 = !DISubroutineType(types: !259)
!259 = !{!85, !245, !74, !74, !40}
!260 = !DISubprogram(name: "removeLock", linkageName: "_ZN11__sanitizer19DeadlockDetectorTLSINS_17TwoLevelBitVectorILm1ENS_14BasicBitVectorImEEEEE10removeLockEm", scope: !225, file: !226, line: 75, type: !252, scopeLine: 75, flags: DIFlagPublic | DIFlagPrototyped, spFlags: DISPFlagOptimized)
!261 = !DISubprogram(name: "findLockContext", linkageName: "_ZN11__sanitizer19DeadlockDetectorTLSINS_17TwoLevelBitVectorILm1ENS_14BasicBitVectorImEEEEE15findLockContextEm", scope: !225, file: !226, line: 99, type: !262, scopeLine: 99, flags: DIFlagPublic | DIFlagPrototyped, spFlags: DISPFlagOptimized)
!262 = !DISubroutineType(types: !263)
!263 = !{!40, !245, !74}
!264 = !DISubprogram(name: "getLocks", linkageName: "_ZNK11__sanitizer19DeadlockDetectorTLSINS_17TwoLevelBitVectorILm1ENS_14BasicBitVectorImEEEEE8getLocksEm", scope: !225, file: !226, line: 106, type: !265, scopeLine: 106, flags: DIFlagPublic | DIFlagPrototyped, spFlags: DISPFlagOptimized)
!265 = !DISubroutineType(types: !266)
!266 = !{!145, !249, !74}
!267 = !DISubprogram(name: "getNumLocks", linkageName: "_ZNK11__sanitizer19DeadlockDetectorTLSINS_17TwoLevelBitVectorILm1ENS_14BasicBitVectorImEEEEE11getNumLocksEv", scope: !225, file: !226, line: 111, type: !255, scopeLine: 111, flags: DIFlagPublic | DIFlagPrototyped, spFlags: DISPFlagOptimized)
!268 = !DISubprogram(name: "getLock", linkageName: "_ZNK11__sanitizer19DeadlockDetectorTLSINS_17TwoLevelBitVectorILm1ENS_14BasicBitVectorImEEEEE7getLockEm", scope: !225, file: !226, line: 112, type: !269, scopeLine: 112, flags: DIFlagPublic | DIFlagPrototyped, spFlags: DISPFlagOptimized)
!269 = !DISubroutineType(types: !270)
!270 = !{!74, !249, !74}
!271 = !DIDerivedType(tag: DW_TAG_member, name: "rep", scope: !220, file: !221, line: 31, baseType: !24, size: 5152, offset: 7360)
!272 = !DIDerivedType(tag: DW_TAG_member, name: "report_pending", scope: !220, file: !221, line: 32, baseType: !85, size: 8, offset: 12512)
!273 = !DIDerivedType(tag: DW_TAG_pointer_type, baseType: !274, size: 32)
!274 = distinct !DICompositeType(tag: DW_TAG_structure_type, name: "DDMutex", scope: !16, file: !23, line: 34, size: 128, flags: DIFlagTypePassByValue, elements: !275, identifier: "_ZTSN11__sanitizer7DDMutexE")
!275 = !{!276, !277, !278}
!276 = !DIDerivedType(tag: DW_TAG_member, name: "id", scope: !274, file: !23, line: 36, baseType: !74, size: 32)
!277 = !DIDerivedType(tag: DW_TAG_member, name: "stk", scope: !274, file: !23, line: 37, baseType: !40, size: 32, offset: 32)
!278 = !DIDerivedType(tag: DW_TAG_member, name: "ctx", scope: !274, file: !23, line: 45, baseType: !33, size: 64, offset: 64)
!279 = !DIDerivedType(tag: DW_TAG_typedef, name: "u16", scope: !16, file: !34, line: 158, baseType: !280)
!280 = !DIBasicType(name: "unsigned short", size: 16, encoding: DW_ATE_unsigned)
!281 = distinct !DICompositeType(tag: DW_TAG_class_type, name: "Iterator", scope: !67, file: !63, line: 87, size: 32, flags: DIFlagPublic | DIFlagTypePassByValue | DIFlagNonTrivial, elements: !282, identifier: "_ZTSN11__sanitizer14BasicBitVectorImE8IteratorE")
!282 = !{!283, !284, !288, !291, !296, !299}
!283 = !DIDerivedType(tag: DW_TAG_member, name: "bv_", scope: !281, file: !63, line: 95, baseType: !67, size: 32)
!284 = !DISubprogram(name: "Iterator", scope: !281, file: !63, line: 89, type: !285, scopeLine: 89, flags: DIFlagPublic | DIFlagPrototyped, spFlags: DISPFlagOptimized)
!285 = !DISubroutineType(types: !286)
!286 = !{null, !287}
!287 = !DIDerivedType(tag: DW_TAG_pointer_type, baseType: !281, size: 32, flags: DIFlagArtificial | DIFlagObjectPointer)
!288 = !DISubprogram(name: "Iterator", scope: !281, file: !63, line: 90, type: !289, scopeLine: 90, flags: DIFlagPublic | DIFlagExplicit | DIFlagPrototyped, spFlags: DISPFlagOptimized)
!289 = !DISubroutineType(types: !290)
!290 = !{null, !287, !99}
!291 = !DISubprogram(name: "hasNext", linkageName: "_ZNK11__sanitizer14BasicBitVectorImE8Iterator7hasNextEv", scope: !281, file: !63, line: 91, type: !292, scopeLine: 91, flags: DIFlagPublic | DIFlagPrototyped, spFlags: DISPFlagOptimized)
!292 = !DISubroutineType(types: !293)
!293 = !{!85, !294}
!294 = !DIDerivedType(tag: DW_TAG_pointer_type, baseType: !295, size: 32, flags: DIFlagArtificial | DIFlagObjectPointer)
!295 = !DIDerivedType(tag: DW_TAG_const_type, baseType: !281)
!296 = !DISubprogram(name: "next", linkageName: "_ZN11__sanitizer14BasicBitVectorImE8Iterator4nextEv", scope: !281, file: !63, line: 92, type: !297, scopeLine: 92, flags: DIFlagPublic | DIFlagPrototyped, spFlags: DISPFlagOptimized)
!297 = !DISubroutineType(types: !298)
!298 = !{!74, !287}
!299 = !DISubprogram(name: "clear", linkageName: "_ZN11__sanitizer14BasicBitVectorImE8Iterator5clearEv", scope: !281, file: !63, line: 93, type: !285, scopeLine: 93, flags: DIFlagPublic | DIFlagPrototyped, spFlags: DISPFlagOptimized)
!300 = !{!301, !303, !305, !307, !309, !311, !313, !315, !317, !319, !321, !323, !324}
!301 = !DIImportedEntity(tag: DW_TAG_imported_module, scope: !302, entity: !16, file: !34, line: 441)
!302 = !DINamespace(name: "__asan", scope: null)
!303 = !DIImportedEntity(tag: DW_TAG_imported_module, scope: !304, entity: !16, file: !34, line: 444)
!304 = !DINamespace(name: "__dsan", scope: null)
!305 = !DIImportedEntity(tag: DW_TAG_imported_module, scope: !306, entity: !16, file: !34, line: 447)
!306 = !DINamespace(name: "__dfsan", scope: null)
!307 = !DIImportedEntity(tag: DW_TAG_imported_module, scope: !308, entity: !16, file: !34, line: 450)
!308 = !DINamespace(name: "__lsan", scope: null)
!309 = !DIImportedEntity(tag: DW_TAG_imported_module, scope: !310, entity: !16, file: !34, line: 453)
!310 = !DINamespace(name: "__msan", scope: null)
!311 = !DIImportedEntity(tag: DW_TAG_imported_module, scope: !312, entity: !16, file: !34, line: 456)
!312 = !DINamespace(name: "__hwasan", scope: null)
!313 = !DIImportedEntity(tag: DW_TAG_imported_module, scope: !314, entity: !16, file: !34, line: 459)
!314 = !DINamespace(name: "__tsan", scope: null)
!315 = !DIImportedEntity(tag: DW_TAG_imported_module, scope: !316, entity: !16, file: !34, line: 462)
!316 = !DINamespace(name: "__scudo", scope: null)
!317 = !DIImportedEntity(tag: DW_TAG_imported_module, scope: !318, entity: !16, file: !34, line: 465)
!318 = !DINamespace(name: "__ubsan", scope: null)
!319 = !DIImportedEntity(tag: DW_TAG_imported_module, scope: !320, entity: !16, file: !34, line: 468)
!320 = !DINamespace(name: "__xray", scope: null)
!321 = !DIImportedEntity(tag: DW_TAG_imported_module, scope: !322, entity: !16, file: !34, line: 471)
!322 = !DINamespace(name: "__interception", scope: null)
!323 = !DIImportedEntity(tag: DW_TAG_imported_module, scope: !312, entity: !16, file: !34, line: 474)
!324 = !DIImportedEntity(tag: DW_TAG_imported_module, scope: !325, entity: !16, file: !34, line: 477)
!325 = !DINamespace(name: "__memprof", scope: null)
!326 = distinct !DISubprogram(name: "addEdges", linkageName: "_ZN11__sanitizer7BVGraphINS_17TwoLevelBitVectorILm1ENS_14BasicBitVectorImEEEEE8addEdgesERKS4_mPmm", scope: !58, file: !57, line: 49, type: !185, scopeLine: 50, flags: DIFlagPrototyped | DIFlagAllCallsDescribed, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !11, declaration: !184, retainedNodes: !327)
!327 = !{!328, !330, !331, !332, !333, !334, !335}
!328 = !DILocalVariable(name: "this", arg: 1, scope: !326, type: !329, flags: DIFlagArtificial | DIFlagObjectPointer)
!329 = !DIDerivedType(tag: DW_TAG_pointer_type, baseType: !58, size: 32)
!330 = !DILocalVariable(name: "from", arg: 2, scope: !326, file: !57, line: 49, type: !145)
!331 = !DILocalVariable(name: "to", arg: 3, scope: !326, file: !57, line: 49, type: !74)
!332 = !DILocalVariable(name: "added_edges", arg: 4, scope: !326, file: !57, line: 49, type: !187)
!333 = !DILocalVariable(name: "max_added_edges", arg: 5, scope: !326, file: !57, line: 50, type: !74)
!334 = !DILocalVariable(name: "res", scope: !326, file: !57, line: 51, type: !74)
!335 = !DILocalVariable(name: "node", scope: !336, file: !57, line: 54, type: !74)
!336 = distinct !DILexicalBlock(scope: !326, file: !57, line: 53, column: 25)
!337 = !DILocalVariable(name: "this", arg: 1, scope: !338, type: !340, flags: DIFlagArtificial | DIFlagObjectPointer)
!338 = distinct !DISubprogram(name: "clear", linkageName: "_ZN11__sanitizer14BasicBitVectorImE5clearEv", scope: !67, file: !63, line: 28, type: !78, scopeLine: 28, flags: DIFlagPrototyped | DIFlagAllCallsDescribed, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !11, declaration: !77, retainedNodes: !339)
!339 = !{!337}
!340 = !DIDerivedType(tag: DW_TAG_pointer_type, baseType: !67, size: 32)
!341 = !DILocation(line: 0, scope: !338, inlinedAt: !342)
!342 = distinct !DILocation(line: 204, column: 23, scope: !343, inlinedAt: !361)
!343 = distinct !DILexicalBlock(scope: !344, file: !63, line: 203, column: 13)
!344 = distinct !DILexicalBlock(scope: !345, file: !63, line: 201, column: 26)
!345 = distinct !DILexicalBlock(scope: !346, file: !63, line: 199, column: 47)
!346 = distinct !DILexicalBlock(scope: !347, file: !63, line: 199, column: 5)
!347 = distinct !DILexicalBlock(scope: !348, file: !63, line: 199, column: 5)
!348 = distinct !DISubprogram(name: "setUnion", linkageName: "_ZN11__sanitizer17TwoLevelBitVectorILm1ENS_14BasicBitVectorImEEE8setUnionERKS3_", scope: !62, file: !63, line: 197, type: !143, scopeLine: 197, flags: DIFlagPrototyped | DIFlagAllCallsDescribed, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !11, declaration: !142, retainedNodes: !349)
!349 = !{!350, !352, !353, !354, !356, !359}
!350 = !DILocalVariable(name: "this", arg: 1, scope: !348, type: !351, flags: DIFlagArtificial | DIFlagObjectPointer)
!351 = !DIDerivedType(tag: DW_TAG_pointer_type, baseType: !62, size: 32)
!352 = !DILocalVariable(name: "v", arg: 2, scope: !348, file: !63, line: 197, type: !145)
!353 = !DILocalVariable(name: "res", scope: !348, file: !63, line: 198, type: !85)
!354 = !DILocalVariable(name: "i0", scope: !355, file: !63, line: 199, type: !74)
!355 = distinct !DILexicalBlock(scope: !348, file: !63, line: 199, column: 5)
!356 = !DILocalVariable(name: "t", scope: !357, file: !63, line: 200, type: !67)
!357 = distinct !DILexicalBlock(scope: !358, file: !63, line: 199, column: 47)
!358 = distinct !DILexicalBlock(scope: !355, file: !63, line: 199, column: 5)
!359 = !DILocalVariable(name: "i1", scope: !360, file: !63, line: 202, type: !74)
!360 = distinct !DILexicalBlock(scope: !357, file: !63, line: 201, column: 26)
!361 = distinct !DILocation(line: 251, column: 5, scope: !362, inlinedAt: !366)
!362 = distinct !DISubprogram(name: "copyFrom", linkageName: "_ZN11__sanitizer17TwoLevelBitVectorILm1ENS_14BasicBitVectorImEEE8copyFromERKS3_", scope: !62, file: !63, line: 249, type: !149, scopeLine: 249, flags: DIFlagPrototyped | DIFlagAllCallsDescribed, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !11, declaration: !148, retainedNodes: !363)
!363 = !{!364, !365}
!364 = !DILocalVariable(name: "this", arg: 1, scope: !362, type: !351, flags: DIFlagArtificial | DIFlagObjectPointer)
!365 = !DILocalVariable(name: "v", arg: 2, scope: !362, file: !63, line: 249, type: !145)
!366 = distinct !DILocation(line: 52, column: 8, scope: !326)
!367 = !DILocation(line: 28, column: 24, scope: !338, inlinedAt: !342)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment