In v5, the DWO ID is in the (split/skeleton) CU header, not an attribute
on the CU DIE.
This makes header sizes more different, so used the parsed size whenever
we have one, for simplicity.
Paths
| Differential D47158
[DWARFv5] Put DWO ID in its place ClosedPublic Authored by probinson on May 21 2018, 1:43 PM.
Details Summary In v5, the DWO ID is in the (split/skeleton) CU header, not an attribute This makes header sizes more different, so used the parsed size whenever
Diff Detail Event TimelineComment Actions Contrary to my usual practice, I did the emission and reading parts in the same patch, it was just easier to manage that way. Comment Actions Seems reasonable to me.
Comment Actions LGTM
This revision is now accepted and ready to land.May 22 2018, 3:13 AM Closed by commit rL333004: [DWARFv5] Put the DWO ID in its place. (authored by probinson). · Explain WhyMay 22 2018, 10:31 AM This revision was automatically updated to reflect the committed changes. probinson marked 4 inline comments as done.
Revision Contents
Diff 147857 llvm/include/llvm/DebugInfo/DWARF/DWARFTypeUnit.h
llvm/include/llvm/DebugInfo/DWARF/DWARFUnit.h
llvm/lib/CodeGen/AsmPrinter/DwarfCompileUnit.h
llvm/lib/CodeGen/AsmPrinter/DwarfCompileUnit.cpp
llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
llvm/lib/DebugInfo/DWARF/DWARFCompileUnit.cpp
llvm/lib/DebugInfo/DWARF/DWARFContext.cpp
llvm/lib/DebugInfo/DWARF/DWARFUnit.cpp
llvm/test/CodeGen/X86/dwarf-headers.ll
llvm/test/DebugInfo/X86/dwarfdump-header.s
|
This is probably a silly micro-optimization, but for better packing we could move the DWOId here (assuming that it is 9 bytes large on a 64-bit architecture). Alternatively: is 0 a valid DWOId?