summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEric Christopher <echristo@gmail.com>2014-03-14 20:53:43 +0000
committerEric Christopher <echristo@gmail.com>2014-03-14 20:53:43 +0000
commit895ec9ed94f1e5b66d1c7e459a148da0f38f3a87 (patch)
treeaf94de748f04a299eaefaa19e1cf5be53469355d
parentc75ec15881f0b86b4c104c404d307f85087a1de7 (diff)
downloadllvm-895ec9ed94f1e5b66d1c7e459a148da0f38f3a87.tar.gz
llvm-895ec9ed94f1e5b66d1c7e459a148da0f38f3a87.tar.bz2
llvm-895ec9ed94f1e5b66d1c7e459a148da0f38f3a87.tar.xz
Remove the -generate-dwarf-cu-ranges flag.
Rewrite a couple of testcases to cover areas that would be normally by turning it on into testcases that will follow the logic. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@203968 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r--lib/CodeGen/AsmPrinter/DwarfDebug.cpp18
-rw-r--r--test/DebugInfo/cu-line-tables.ll4
-rw-r--r--test/DebugInfo/cu-ranges.ll18
3 files changed, 17 insertions, 23 deletions
diff --git a/lib/CodeGen/AsmPrinter/DwarfDebug.cpp b/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
index 1e3da83900..ed5bcf3c7b 100644
--- a/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
+++ b/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
@@ -106,11 +106,6 @@ static cl::opt<unsigned>
DwarfVersionNumber("dwarf-version", cl::Hidden,
cl::desc("Generate DWARF for dwarf version."), cl::init(0));
-static cl::opt<bool>
-DwarfCURanges("generate-dwarf-cu-ranges", cl::Hidden,
- cl::desc("Generate DW_AT_ranges for compile units"),
- cl::init(false));
-
static const char *const DWARFGroupName = "DWARF Emission";
static const char *const DbgTimerName = "DWARF Debug Writer";
@@ -1067,13 +1062,12 @@ void DwarfDebug::endSections() {
SectionMap[Section].push_back(SymbolCU(NULL, Sym));
}
- // For now only turn on CU ranges if we've explicitly asked for it,
- // we have -ffunction-sections enabled, we've emitted a function
- // into a unique section, or we're using LTO. If we're using LTO then
- // we can't know that any particular function in the module is correlated
- // to a particular CU and so we need to be conservative. At this point all
- // sections should be finalized except for dwarf sections.
- HasCURanges = DwarfCURanges || UsedNonDefaultText || (CUMap.size() > 1) ||
+ // For now only turn on CU ranges if we have -ffunction-sections enabled,
+ // we've emitted a function into a unique section, or we're using LTO. If
+ // we're using LTO then we can't know that any particular function in the
+ // module is correlated to a particular CU and so we need to be conservative.
+ // At this point all sections should be finalized except for dwarf sections.
+ HasCURanges = UsedNonDefaultText || (CUMap.size() > 1) ||
TargetMachine::getFunctionSections();
}
diff --git a/test/DebugInfo/cu-line-tables.ll b/test/DebugInfo/cu-line-tables.ll
index 2179bd57b8..d404a6692f 100644
--- a/test/DebugInfo/cu-line-tables.ll
+++ b/test/DebugInfo/cu-line-tables.ll
@@ -1,8 +1,8 @@
; REQUIRES: object-emission
-; RUN: %llc_dwarf -O0 -filetype=obj -generate-dwarf-cu-ranges %s -o %t
+; RUN: %llc_dwarf -O0 -filetype=obj %s -o %t
; RUN: llvm-dwarfdump %t | FileCheck %s
-; Check that we don't emit ranges even if the option is passed if we're emitting line tables only.
+; Check that we don't emit ranges if we're emitting line tables only.
; CHECK: DW_TAG_compile_unit
; CHECK-NOT: DW_AT_ranges
diff --git a/test/DebugInfo/cu-ranges.ll b/test/DebugInfo/cu-ranges.ll
index 381f2dcb4c..9780cff7b9 100644
--- a/test/DebugInfo/cu-ranges.ll
+++ b/test/DebugInfo/cu-ranges.ll
@@ -1,8 +1,8 @@
; REQUIRES: object-emission
-; RUN: %llc_dwarf -O0 -filetype=obj -generate-dwarf-cu-ranges %s -o %t
+; RUN: %llc_dwarf -O0 -filetype=obj %s -o %t
; RUN: llvm-dwarfdump %t | FileCheck %s
-; Check that we emit ranges for this when the -generate-dwarf-cu-ranges flag is passed.
+; Check that we emit ranges for this which has a non-traditional section.
; CHECK: DW_TAG_compile_unit
; CHECK: DW_AT_ranges
@@ -13,13 +13,13 @@
; CHECK: 00000000 <End of list>
; Function Attrs: nounwind uwtable
-define i32 @f(i32 %a) #0 {
+define i32 @foo(i32 %a) #0 section "foo" {
entry:
%a.addr = alloca i32, align 4
store i32 %a, i32* %a.addr, align 4
call void @llvm.dbg.declare(metadata !{i32* %a.addr}, metadata !12), !dbg !13
%0 = load i32* %a.addr, align 4, !dbg !14
- %add = add nsw i32 %0, 4, !dbg !14
+ %add = add nsw i32 %0, 5, !dbg !14
ret i32 %add, !dbg !14
}
@@ -33,18 +33,18 @@ attributes #1 = { nounwind readnone }
!llvm.module.flags = !{!9, !10}
!llvm.ident = !{!11}
-!0 = metadata !{i32 786449, metadata !1, i32 12, metadata !"clang version 3.5 (trunk 197756) (llvm/trunk 197768)", i1 false, metadata !"", i32 0, metadata !2, metadata !2, metadata !3, metadata !2, metadata !2, metadata !"", i32 1} ; [ DW_TAG_compile_unit ] [/usr/local/google/home/echristo/tmp/foo.c] [DW_LANG_C99]
-!1 = metadata !{metadata !"foo.c", metadata !"/usr/local/google/home/echristo/tmp"}
+!0 = metadata !{i32 786449, metadata !1, i32 12, metadata !"clang version 3.5.0 (trunk 203959) (llvm/trunk 203946)", i1 false, metadata !"", i32 0, metadata !2, metadata !2, metadata !3, metadata !2, metadata !2, metadata !"", i32 1} ; [ DW_TAG_compile_unit ] [/usr/local/google/home/echristo/foo.c] [DW_LANG_C99]
+!1 = metadata !{metadata !"foo.c", metadata !"/usr/local/google/home/echristo"}
!2 = metadata !{}
!3 = metadata !{metadata !4}
-!4 = metadata !{i32 786478, metadata !1, metadata !5, metadata !"f", metadata !"f", metadata !"", i32 1, metadata !6, i1 false, i1 true, i32 0, i32 0, null, i32 256, i1 false, i32 (i32)* @f, null, null, metadata !2, i32 1} ; [ DW_TAG_subprogram ] [line 1] [def] [f]
-!5 = metadata !{i32 786473, metadata !1} ; [ DW_TAG_file_type ] [/usr/local/google/home/echristo/tmp/foo.c]
+!4 = metadata !{i32 786478, metadata !1, metadata !5, metadata !"foo", metadata !"foo", metadata !"", i32 1, metadata !6, i1 false, i1 true, i32 0, i32 0, null, i32 256, i1 false, i32 (i32)* @foo, null, null, metadata !2, i32 1} ; [ DW_TAG_subprogram ] [line 1] [def] [foo]
+!5 = metadata !{i32 786473, metadata !1} ; [ DW_TAG_file_type ] [/usr/local/google/home/echristo/foo.c]
!6 = metadata !{i32 786453, i32 0, null, metadata !"", i32 0, i64 0, i64 0, i64 0, i32 0, null, metadata !7, i32 0, null, null, null} ; [ DW_TAG_subroutine_type ] [line 0, size 0, align 0, offset 0] [from ]
!7 = metadata !{metadata !8, metadata !8}
!8 = metadata !{i32 786468, null, null, metadata !"int", i32 0, i64 32, i64 32, i64 0, i32 0, i32 5} ; [ DW_TAG_base_type ] [int] [line 0, size 32, align 32, offset 0, enc DW_ATE_signed]
!9 = metadata !{i32 2, metadata !"Dwarf Version", i32 4}
!10 = metadata !{i32 1, metadata !"Debug Info Version", i32 1}
-!11 = metadata !{metadata !"clang version 3.5 (trunk 197756) (llvm/trunk 197768)"}
+!11 = metadata !{metadata !"clang version 3.5.0 (trunk 203959) (llvm/trunk 203946)"}
!12 = metadata !{i32 786689, metadata !4, metadata !"a", metadata !5, i32 16777217, metadata !8, i32 0, i32 0} ; [ DW_TAG_arg_variable ] [a] [line 1]
!13 = metadata !{i32 1, i32 0, metadata !4, null}
!14 = metadata !{i32 2, i32 0, metadata !4, null}