here is IR:
!11 = !DILocalVariable(name: "bb", scope: !7, file: !8, line: 10, type: !12)
!12 = !DIDerivedType(tag: DW_TAG_typedef, name: "_BTS_Node", file: !13, line: 43, baseType: !14)
!13 = !DIFile(filename: "llvm/test/Transforms/StructInitCheck/check_scene/../commom.h", directory: "/5g_build/5g_Main/DragonGlass")
!14 = distinct !DICompositeType(tag: DW_TAG_structure_type, file: !13, line: 36, size: 5632, elements: !15)
!15 = !{!16, !18, !21, !36, !55, !56}
!16 = !DIDerivedType(tag: DW_TAG_member, name: "nodeId", scope: !14, file: !13, line: 37, baseType: !17, size: 32)
!17 = !DIBasicType(name: "int", size: 32, encoding: DW_ATE_signed)
!18 = !DIDerivedType(tag: DW_TAG_member, name: "nodeName", scope: !14, file: !13, line: 38, baseType: !19, size: 64, offset: 64)
!19 = !DIDerivedType(tag: DW_TAG_pointer_type, baseType: !20, size: 64)
!20 = !DIBasicType(name: "char", size: 8, encoding: DW_ATE_signed_char)
!21 = !DIDerivedType(tag: DW_TAG_member, name: "attribute", scope: !14, file: !13, line: 39, baseType: !22, size: 320, offset: 128)
!22 = !DIDerivedType(tag: DW_TAG_typedef, name: "_Attr", file: !13, line: 22, baseType: !23)
!23 = distinct !DICompositeType(tag: DW_TAG_structure_type, file: !13, line: 16, size: 320, elements: !24)
!24 = !{!25, !26, !27, !28, !29}
!25 = !DIDerivedType(tag: DW_TAG_member, name: "r", scope: !23, file: !13, line: 17, baseType: !17, size: 32)
!26 = !DIDerivedType(tag: DW_TAG_member, name: "g", scope: !23, file: !13, line: 18, baseType: !17, size: 32, offset: 32)
!27 = !DIDerivedType(tag: DW_TAG_member, name: "b", scope: !23, file: !13, line: 19, baseType: !17, size: 32, offset: 64)
!28 = !DIDerivedType(tag: DW_TAG_member, name: "attrId", scope: !23, file: !13, line: 20, baseType: !19, size: 64, offset: 128)
!29 = !DIDerivedType(tag: DW_TAG_member, name: "loc", scope: !23, file: !13, line: 21, baseType: !30, size: 96, offset: 192)
!30 = !DIDerivedType(tag: DW_TAG_typedef, name: "_Location", file: !13, line: 15, baseType: !31)
!31 = distinct !DICompositeType(tag: DW_TAG_structure_type, file: !13, line: 11, size: 96, elements: !32)
!32 = !{!33, !34, !35}
!33 = !DIDerivedType(tag: DW_TAG_member, name: "x", scope: !31, file: !13, line: 12, baseType: !17, size: 32)
!34 = !DIDerivedType(tag: DW_TAG_member, name: "y", scope: !31, file: !13, line: 13, baseType: !17, size: 32, offset: 32)
!35 = !DIDerivedType(tag: DW_TAG_member, name: "z", scope: !31, file: !13, line: 14, baseType: !17, size: 32, offset: 64)
!36 = !DIDerivedType(tag: DW_TAG_member, name: "boardList", scope: !14, file: !13, line: 40, baseType: !37, size: 3680, offset: 448)
!37 = !DICompositeType(tag: DW_TAG_array_type, baseType: !38, size: 3680, elements: !53)
!38 = !DIDerivedType(tag: DW_TAG_typedef, name: "_Board", file: !13, line: 34, baseType: !39)
!39 = distinct !DICompositeType(tag: DW_TAG_structure_type, file: !13, line: 29, size: 736, elements: !40)
how to get all structs and location?like struct _BTS_Node located in llvm/test/Transforms/StructInitCheck/check_scene/…/commom.h
thank you for your reply