diff options
author | David Blaikie <dblaikie@gmail.com> | 2019-12-27 17:18:50 -0800 |
---|---|---|
committer | David Blaikie <dblaikie@gmail.com> | 2019-12-27 17:26:14 -0800 |
commit | c51b45e32ef7f35c11891f60871aa9c2c04cd991 (patch) | |
tree | c6720c4c58684823588d2eda44ef6c30defec722 | |
parent | a33cab0f06e38423dbb17ce4d9ea91f93f1f92fb (diff) | |
download | bcm5719-llvm-c51b45e32ef7f35c11891f60871aa9c2c04cd991.tar.gz bcm5719-llvm-c51b45e32ef7f35c11891f60871aa9c2c04cd991.zip |
DebugInfo: Fix rangesBaseAddress DICompileUnit bitcode serialization/deserialization
Follow-up to r346788 review feedback from Adrian Prantl.
-rw-r--r-- | llvm/lib/AsmParser/LLParser.cpp | 4 | ||||
-rw-r--r-- | llvm/lib/Bitcode/Reader/MetadataLoader.cpp | 2 | ||||
-rw-r--r-- | llvm/lib/Bitcode/Writer/BitcodeWriter.cpp | 1 | ||||
-rw-r--r-- | llvm/test/Assembler/dicompileunit.ll | 4 | ||||
-rw-r--r-- | llvm/test/DebugInfo/X86/range_reloc.ll | 2 |
5 files changed, 7 insertions, 6 deletions
diff --git a/llvm/lib/AsmParser/LLParser.cpp b/llvm/lib/AsmParser/LLParser.cpp index 1a17f633ae1..5d3f5bcd696 100644 --- a/llvm/lib/AsmParser/LLParser.cpp +++ b/llvm/lib/AsmParser/LLParser.cpp @@ -4656,7 +4656,7 @@ bool LLParser::ParseDICompileUnit(MDNode *&Result, bool IsDistinct) { OPTIONAL(splitDebugInlining, MDBoolField, = true); \ OPTIONAL(debugInfoForProfiling, MDBoolField, = false); \ OPTIONAL(nameTableKind, NameTableKindField, ); \ - OPTIONAL(debugBaseAddress, MDBoolField, = false); + OPTIONAL(rangesBaseAddress, MDBoolField, = false); PARSE_MD_FIELDS(); #undef VISIT_MD_FIELDS @@ -4665,7 +4665,7 @@ bool LLParser::ParseDICompileUnit(MDNode *&Result, bool IsDistinct) { runtimeVersion.Val, splitDebugFilename.Val, emissionKind.Val, enums.Val, retainedTypes.Val, globals.Val, imports.Val, macros.Val, dwoId.Val, splitDebugInlining.Val, debugInfoForProfiling.Val, nameTableKind.Val, - debugBaseAddress.Val); + rangesBaseAddress.Val); return false; } diff --git a/llvm/lib/Bitcode/Reader/MetadataLoader.cpp b/llvm/lib/Bitcode/Reader/MetadataLoader.cpp index 4da51dda8b7..4fccf96d6f9 100644 --- a/llvm/lib/Bitcode/Reader/MetadataLoader.cpp +++ b/llvm/lib/Bitcode/Reader/MetadataLoader.cpp @@ -1457,7 +1457,7 @@ Error MetadataLoader::MetadataLoaderImpl::parseOneMetadata( break; } case bitc::METADATA_COMPILE_UNIT: { - if (Record.size() < 14 || Record.size() > 19) + if (Record.size() < 14 || Record.size() > 20) return error("Invalid record"); // Ignore Record[0], which indicates whether this compile unit is diff --git a/llvm/lib/Bitcode/Writer/BitcodeWriter.cpp b/llvm/lib/Bitcode/Writer/BitcodeWriter.cpp index dcff7c421fc..a564c30b842 100644 --- a/llvm/lib/Bitcode/Writer/BitcodeWriter.cpp +++ b/llvm/lib/Bitcode/Writer/BitcodeWriter.cpp @@ -1661,6 +1661,7 @@ void ModuleBitcodeWriter::writeDICompileUnit(const DICompileUnit *N, Record.push_back(N->getSplitDebugInlining()); Record.push_back(N->getDebugInfoForProfiling()); Record.push_back((unsigned)N->getNameTableKind()); + Record.push_back(N->getRangesBaseAddress()); Stream.EmitRecord(bitc::METADATA_COMPILE_UNIT, Record, Abbrev); Record.clear(); diff --git a/llvm/test/Assembler/dicompileunit.ll b/llvm/test/Assembler/dicompileunit.ll index c1683e2d630..fcf64240fb0 100644 --- a/llvm/test/Assembler/dicompileunit.ll +++ b/llvm/test/Assembler/dicompileunit.ll @@ -16,13 +16,13 @@ !6 = distinct !{} !7 = distinct !{} -; CHECK: !8 = distinct !DICompileUnit(language: DW_LANG_C99, file: !1, producer: "clang", isOptimized: true, flags: "-O2", runtimeVersion: 2, splitDebugFilename: "abc.debug", emissionKind: FullDebug, enums: !2, retainedTypes: !3, globals: !5, imports: !6, macros: !7, dwoId: 42) +; CHECK: !8 = distinct !DICompileUnit(language: DW_LANG_C99, file: !1, producer: "clang", isOptimized: true, flags: "-O2", runtimeVersion: 2, splitDebugFilename: "abc.debug", emissionKind: FullDebug, enums: !2, retainedTypes: !3, globals: !5, imports: !6, macros: !7, dwoId: 42, rangesBaseAddress: true) !8 = distinct !DICompileUnit(language: DW_LANG_C99, file: !1, producer: "clang", isOptimized: true, flags: "-O2", runtimeVersion: 2, splitDebugFilename: "abc.debug", emissionKind: FullDebug, enums: !2, retainedTypes: !3, - globals: !5, imports: !6, macros: !7, dwoId: 42, splitDebugInlining: true) + globals: !5, imports: !6, macros: !7, dwoId: 42, splitDebugInlining: true, rangesBaseAddress: true) ; CHECK: !9 = distinct !DICompileUnit(language: DW_LANG_C99, file: !1, isOptimized: false, runtimeVersion: 0, emissionKind: NoDebug) !9 = distinct !DICompileUnit(language: 12, file: !1, producer: "", diff --git a/llvm/test/DebugInfo/X86/range_reloc.ll b/llvm/test/DebugInfo/X86/range_reloc.ll index 37ed4a76fd8..147d20e5b9f 100644 --- a/llvm/test/DebugInfo/X86/range_reloc.ll +++ b/llvm/test/DebugInfo/X86/range_reloc.ll @@ -140,7 +140,7 @@ entry: !llvm.ident = !{!5, !5} !llvm.module.flags = !{!6, !7, !8} -!0 = distinct !DICompileUnit(language: DW_LANG_C_plus_plus, file: !1, producer: "clang version 8.0.0 (trunk 346343) (llvm/trunk 346350)", isOptimized: false, runtimeVersion: 0, emissionKind: FullDebug, enums: !2, nameTableKind: None, debugBaseAddress: true) +!0 = distinct !DICompileUnit(language: DW_LANG_C_plus_plus, file: !1, producer: "clang version 8.0.0 (trunk 346343) (llvm/trunk 346350)", isOptimized: false, runtimeVersion: 0, emissionKind: FullDebug, enums: !2, nameTableKind: None, rangesBaseAddress: true) !1 = !DIFile(filename: "ranges.cpp", directory: "/usr/local/google/home/blaikie/dev/scratch") !2 = !{} !3 = distinct !DICompileUnit(language: DW_LANG_C_plus_plus, file: !4, producer: "clang version 8.0.0 (trunk 346343) (llvm/trunk 346350)", isOptimized: false, runtimeVersion: 0, emissionKind: FullDebug, enums: !2, nameTableKind: None) |