OSDN Git Service

DebugInfo: Reuse common addresses for rnglist base address selections
authorDavid Blaikie <dblaikie@gmail.com>
Wed, 24 Oct 2018 23:36:29 +0000 (23:36 +0000)
committerDavid Blaikie <dblaikie@gmail.com>
Wed, 24 Oct 2018 23:36:29 +0000 (23:36 +0000)
commit57075a5226d7dacf61975147c474aef53cefac7b
treef9ca0c940668391bf069ac4514ca7f152545af56
parentd5d108ee21b796bc6d3d874872bbc51391229b84
DebugInfo: Reuse common addresses for rnglist base address selections

This makes the offsets larger (since they are further from the base
address) but those are in the .dwo - and allows removing addresses and
relocations from the .o file.

This could be built into the AddressPool more fundamentally, perhaps -
when you ask for an AddressPool entry you could say "or give me some
other entry and an offset I need to use" - though what to do about
situations where the first use of an address in a section is not the
earliest address in that section... is tricky.

At least with range addresses we can be fairly sure we've seen the
earliest address first because we see the start address for the
function.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@345224 91177308-0d34-0410-b5e6-96231b3b80d8
lib/CodeGen/AsmPrinter/DwarfCompileUnit.cpp
lib/CodeGen/AsmPrinter/DwarfDebug.cpp
lib/CodeGen/AsmPrinter/DwarfDebug.h
test/DebugInfo/X86/split-dwarf-v5-ranges.ll