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