Refactor DebugLocDWARFExpression so it doesn't require access to the
authorAdrian Prantl <aprantl@apple.com>
Mon, 2 Mar 2015 22:02:33 +0000 (22:02 +0000)
committerAdrian Prantl <aprantl@apple.com>
Mon, 2 Mar 2015 22:02:33 +0000 (22:02 +0000)
commit994176ad7ceb61bbb1fed707e9c7a29509b3a649
tree97315c21d86211751c40c5f5e8c4ddb4edfd9c5d
parentfd78a7dd5c4bb36618f67921ef2564cf8c7f9189
Refactor DebugLocDWARFExpression so it doesn't require access to the
TargetRegisterInfo. DebugLocEntry now holds a buffer with the raw bytes
of the pre-calculated DWARF expression.

Ought to be NFC, but it does slightly alter the output format of the
textual assembly.

This reapplies 230930 without the assertion in DebugLocEntry::finalize()
because not all Machine registers can be lowered into DWARF register
numbers and floating point constants cannot be expressed.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@231023 91177308-0d34-0410-b5e6-96231b3b80d8
include/llvm/CodeGen/AsmPrinter.h
lib/CodeGen/AsmPrinter/AsmPrinterDwarf.cpp
lib/CodeGen/AsmPrinter/ByteStreamer.h
lib/CodeGen/AsmPrinter/DebugLocEntry.h
lib/CodeGen/AsmPrinter/DwarfDebug.cpp
lib/CodeGen/AsmPrinter/DwarfDebug.h
lib/CodeGen/AsmPrinter/DwarfExpression.cpp
lib/CodeGen/AsmPrinter/DwarfExpression.h
lib/CodeGen/AsmPrinter/DwarfUnit.cpp
test/CodeGen/ARM/debug-info-qreg.ll
test/CodeGen/ARM/debug-info-s16-reg.ll