Skip to content

Commit a0b06da

Browse files
Merge pull request #11636 from rastogishubham/FixCasFriendly
Fix bug in cas-friendly-debug-info option.
2 parents c0da83d + 823563a commit a0b06da

File tree

2 files changed

+30
-1
lines changed

2 files changed

+30
-1
lines changed

llvm/lib/MC/MCDwarf.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -190,7 +190,7 @@ void MCDwarfLineTable::emitOne(
190190
auto init = [&]() {
191191
// Force emission of DW_LNS_set_file for every function's contribution to
192192
// the line table to maximize deduplication.
193-
FileNum = MCOS->getGenerateCasFriendlyDebugInfo() ? 0 : 1;
193+
FileNum = MCOS->getGenerateCasFriendlyDebugInfo() ? -1 : 1;
194194
LastLine = 1;
195195
Column = 0;
196196
Flags = DWARF2_LINE_DEFAULT_IS_STMT ? DWARF2_FLAG_IS_STMT : 0;
Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
; RUN: rm -rf %t && mkdir -p %t
2+
; RUN: llc --filetype=obj -cas-friendly-debug-info %s -o %t/cas-friendly.o
3+
; RUN: llvm-dwarfdump %t/cas-friendly.o --debug-line | FileCheck %s
4+
; CHECK: Address Line Column File ISA Discriminator OpIndex Flags
5+
; CHECK-NEXT: ------------------ ------ ------ ------ --- ------------- ------- -------------
6+
; CHECK-NOT: 0x0000000000000000 0 0 1 0 0 0 is_stmt
7+
; CHECK-NEXT: 0x0000000000000000 0 0 0 0 0 0 is_stmt
8+
; REQUIRES: arm-registered-target
9+
10+
define i32 @_Z3fooi(i32 noundef %x) #0 !dbg !9 {
11+
entry:
12+
%x.addr = alloca i32
13+
%0 = load i32, ptr %x.addr, align 4
14+
%add = add nsw i32 %0, 1, !dbg !18
15+
ret i32 %add
16+
}
17+
!llvm.dbg.cu = !{!0}
18+
!llvm.module.flags = !{!2, !3, !7}
19+
!0 = distinct !DICompileUnit(language: DW_LANG_C_plus_plus_14, file: !1, emissionKind: FullDebug, sysroot: "/")
20+
!1 = !DIFile(filename: "/tmp/a.cpp", directory: "/", checksumkind: CSK_MD5, checksum: "80e82b6b66c04b9cfb438eb7c6672107")
21+
!2 = !{i32 7, !"Dwarf Version", i32 5}
22+
!3 = !{i32 2,!"Debug Info Version", i32 3}
23+
!7 = !{i32 7, !"frame-pointer", i32 1}
24+
!9 = distinct !DISubprogram(file: !10, type: !11, unit: !0, retainedNodes: !14)
25+
!10 = !DIFile(filename: "/tmp/a.cpp", directory: "", checksumkind: CSK_MD5, checksum: "80e82b6b66c04b9cfb438eb7c6672107")
26+
!11 = !DISubroutineType(types: !12)
27+
!12 = !{}
28+
!14 = !{}
29+
!18 = !DILocation(scope: !9)

0 commit comments

Comments
 (0)