[llvm] 031f83f - DebugInfo: Simplify emitDebugLocEntry by never passing a null CU

David Blaikie via llvm-commits llvm-commits at lists.llvm.org
Mon Feb 3 18:48:31 PST 2020


Author: David Blaikie
Date: 2020-02-03T18:47:14-08:00
New Revision: 031f83fb8206d936cdef660eefdd26478926b352

URL: https://github.com/llvm/llvm-project/commit/031f83fb8206d936cdef660eefdd26478926b352
DIFF: https://github.com/llvm/llvm-project/commit/031f83fb8206d936cdef660eefdd26478926b352.diff

LOG: DebugInfo: Simplify emitDebugLocEntry by never passing a null CU

Added: 
    

Modified: 
    llvm/lib/CodeGen/AsmPrinter/DIEHash.cpp
    llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp

Removed: 
    


################################################################################
diff  --git a/llvm/lib/CodeGen/AsmPrinter/DIEHash.cpp b/llvm/lib/CodeGen/AsmPrinter/DIEHash.cpp
index 196e69458077..f28d84fb1bbe 100644
--- a/llvm/lib/CodeGen/AsmPrinter/DIEHash.cpp
+++ b/llvm/lib/CodeGen/AsmPrinter/DIEHash.cpp
@@ -224,8 +224,9 @@ void DIEHash::hashLocList(const DIELocList &LocList) {
   HashingByteStreamer Streamer(*this);
   DwarfDebug &DD = *AP->getDwarfDebug();
   const DebugLocStream &Locs = DD.getDebugLocs();
-  for (const auto &Entry : Locs.getEntries(Locs.getList(LocList.getValue())))
-    DD.emitDebugLocEntry(Streamer, Entry, nullptr);
+  const DebugLocStream::List &List = Locs.getList(LocList.getValue());
+  for (const DebugLocStream::Entry &Entry : Locs.getEntries(List))
+    DD.emitDebugLocEntry(Streamer, Entry, List.CU);
 }
 
 // Hash an individual attribute \param Attr based on the type of attribute and

diff  --git a/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp b/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
index 50ceb1f1c117..0923394ceb6e 100644
--- a/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
+++ b/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
@@ -2238,15 +2238,10 @@ void DwarfDebug::emitDebugLocEntry(ByteStreamer &Streamer,
       if (Op.getDescription().Op[I] == Encoding::SizeNA)
         continue;
       if (Op.getDescription().Op[I] == Encoding::BaseTypeRef) {
-        if (CU) {
-          uint64_t Offset =
-              CU->ExprRefedBaseTypes[Op.getRawOperand(I)].Die->getOffset();
-          assert(Offset < (1ULL << (ULEB128PadSize * 7)) && "Offset wont fit");
-          Asm->EmitULEB128(Offset, nullptr, ULEB128PadSize);
-        } else {
-          // Emit a reference to the 'generic type'.
-          Asm->EmitULEB128(0, nullptr, ULEB128PadSize);
-        }
+        uint64_t Offset =
+            CU->ExprRefedBaseTypes[Op.getRawOperand(I)].Die->getOffset();
+        assert(Offset < (1ULL << (ULEB128PadSize * 7)) && "Offset wont fit");
+        Asm->EmitULEB128(Offset, nullptr, ULEB128PadSize);
         // Make sure comments stay aligned.
         for (unsigned J = 0; J < ULEB128PadSize; ++J)
           if (Comment != End)


        


More information about the llvm-commits mailing list