xref: /llvm-project/llvm/test/Transforms/Util/strip-nonlinetable-debuginfo-cus.ll (revision 211cf8a384ebb29787367c8fd5858e2a5ed3c10f)
1; RUN: opt -S -passes=strip-nonlinetable-debuginfo %s -o - | FileCheck %s
2!llvm.dbg.cu = !{!2, !6}
3!llvm.gcov = !{!3}
4!llvm.module.flags = !{!7}
5
6!1 = !DIFile(filename: "path/to/file", directory: "/path/to/dir")
7; The first CU is used for the line table, the second one is a module skeleton
8; and should be stripped.
9; CHECK: !llvm.dbg.cu = !{![[CU:[0-9]+]]}
10; CHECK: ![[CU]] = distinct !DICompileUnit({{.*}}"abc.debug"{{.*}}LineTablesOnly
11; CHECK-NOT: retainedTypes:
12; CHECK-SAME: )
13; CHECK-NOT: DICompositeType
14!2 = distinct !DICompileUnit(language: DW_LANG_C99, file: !1, producer: "clang",
15                             isOptimized: true, flags: "-O2", runtimeVersion: 2,
16                             splitDebugFilename: "abc.debug", emissionKind: FullDebug,
17                             retainedTypes: !4)
18!3 = !{!"path/to/file.o", !2}
19!4 = !{!5}
20!5 = !DICompositeType(tag: DW_TAG_structure_type, file: !1, identifier: "ThisWillBeStripped")
21!6 = distinct !DICompileUnit(language: DW_LANG_C99, file: !1, producer: "clang",
22                             splitDebugFilename: "abc.dwo", emissionKind: FullDebug,
23                             dwoId: 1234)
24!7 = !{i32 1, !"Debug Info Version", i32 3}
25