mirror of
https://github.com/RPCS3/llvm.git
synced 2026-07-20 19:04:10 -04:00
83de821178
Summary: Added an option that allows to emit only '.loc' and '.file' kind debug directives, but disables emission of the DWARF sections. Required for NVPTX target to support profiling. It requires '.loc' and '.file' directives, but does not require any DWARF sections for the profiler. Reviewers: probinson, echristo, dblaikie Subscribers: aprantl, JDevlieghere, llvm-commits Differential Revision: https://reviews.llvm.org/D46021 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@338616 91177308-0d34-0410-b5e6-96231b3b80d8
60 lines
2.3 KiB
LLVM
60 lines
2.3 KiB
LLVM
; RUN: llc -filetype=asm -asm-verbose=0 -O0 < %s | FileCheck %s
|
|
|
|
; Generated with clang from multiline.c:
|
|
; void f1();
|
|
; void f2() {
|
|
; f1(); f1(); f1();
|
|
; f1(); f1(); f1();
|
|
; }
|
|
|
|
|
|
; CHECK: .file 1 "/tmp/dbginfo{{.*}}multiline.c"
|
|
; CHECK: .loc 1 2 0
|
|
; CHECK: .loc 1 3 3
|
|
; CHECK: .loc 1 3 9
|
|
; CHECK: .loc 1 3 15
|
|
; CHECK: .loc 1 4 3
|
|
; CHECK: .loc 1 4 9
|
|
; CHECK: .loc 1 4 15
|
|
; CHECK: .loc 1 5 1
|
|
|
|
; CHECK-NOT: .section .{{debug.*}}
|
|
|
|
; Function Attrs: nounwind uwtable
|
|
define void @f2() #0 !dbg !4 {
|
|
entry:
|
|
call void (...) @f1(), !dbg !11
|
|
call void (...) @f1(), !dbg !12
|
|
call void (...) @f1(), !dbg !13
|
|
call void (...) @f1(), !dbg !14
|
|
call void (...) @f1(), !dbg !15
|
|
call void (...) @f1(), !dbg !16
|
|
ret void, !dbg !17
|
|
}
|
|
|
|
declare void @f1(...) #1
|
|
|
|
attributes #0 = { nounwind uwtable "less-precise-fpmad"="false" "no-frame-pointer-elim"="true" "no-frame-pointer-elim-non-leaf" "no-infs-fp-math"="false" "no-nans-fp-math"="false" "stack-protector-buffer-size"="8" "unsafe-fp-math"="false" "use-soft-float"="false" }
|
|
attributes #1 = { "less-precise-fpmad"="false" "no-frame-pointer-elim"="true" "no-frame-pointer-elim-non-leaf" "no-infs-fp-math"="false" "no-nans-fp-math"="false" "stack-protector-buffer-size"="8" "unsafe-fp-math"="false" "use-soft-float"="false" }
|
|
|
|
!llvm.dbg.cu = !{!0}
|
|
!llvm.module.flags = !{!8, !9}
|
|
!llvm.ident = !{!10}
|
|
|
|
!0 = distinct !DICompileUnit(language: DW_LANG_C99, producer: "clang version 3.6.0 (trunk 225000) (llvm/trunk 224999)", isOptimized: false, emissionKind: DebugDirectivesOnly, file: !1)
|
|
!1 = !DIFile(filename: "multiline.c", directory: "/tmp/dbginfo")
|
|
!4 = distinct !DISubprogram(name: "f2", line: 2, isLocal: false, isDefinition: true, isOptimized: false, unit: !0, scopeLine: 2, file: !1, scope: !5, type: !6)
|
|
!5 = !DIFile(filename: "multiline.c", directory: "/tmp/dbginfo")
|
|
!6 = !DISubroutineType(types: !7)
|
|
!7 = !{null}
|
|
!8 = !{i32 2, !"Dwarf Version", i32 4}
|
|
!9 = !{i32 2, !"Debug Info Version", i32 3}
|
|
!10 = !{!"clang version 3.6.0 (trunk 225000) (llvm/trunk 224999)"}
|
|
!11 = !DILocation(line: 3, column: 3, scope: !4)
|
|
!12 = !DILocation(line: 3, column: 9, scope: !4)
|
|
!13 = !DILocation(line: 3, column: 15, scope: !4)
|
|
!14 = !DILocation(line: 4, column: 3, scope: !4)
|
|
!15 = !DILocation(line: 4, column: 9, scope: !4)
|
|
!16 = !DILocation(line: 4, column: 15, scope: !4)
|
|
!17 = !DILocation(line: 5, column: 1, scope: !4)
|