[PATCH] Debug info: Support fragmented variables.

Adrian Prantl aprantl at apple.com
Fri Apr 11 13:41:55 PDT 2014


On Apr 3, 2014, at 4:57 AM, Eric Christopher <echristo at gmail.com> wrote:

> 
>  Let's look into splitting this up and out a bit. I think being able to have complex addresses as part of a location in the debug value instruction should be fine. The multiple optional statements bother me a bit, I guess we'll need to add a null metadata in cases where you want to use this.
> 
>  Let's split the patch out with just the infrastructure changes needed and a testcase to use them and we'll go from there? In general, I think it's a good idea, just a big patch :)
> 
>  -eric
> 
> http://llvm-reviews.chandlerc.com/D2680

Hi Eric,

sorry for the long delay, but I was out sick at the beginning of the week, and then when I was rebasing the patch, I saw an opportunity to clean it up a little. Anyhow, here is the promised infrastructure-only patch. It still touches a lot of files, but most of the changes are very straight-forward.

docs/SourceLevelDebugging.rst          -- documentation of piece complex exprs
include/llvm/IR/DIBuilder.h            -- add createVariablePiece()
lib/IR/DIBuilder.cpp                   -- add createVariablePiece()
include/llvm/IR/DebugInfo.h            -- support for Variable pieces
lib/IR/DebugInfo.cpp                   -- misc. pieces support functions
include/llvm/CodeGen/AsmPrinter.h      -- move EmitDwarfRegOpPiece into AsmPrinter
lib/CodeGen/AsmPrinter/AsmPrinter.cpp  -- prettyprinting of pieces
lib/CodeGen/AsmPrinter/AsmPrinterDwarf.cpp -- emit DWARF for pieces
lib/CodeGen/AsmPrinter/DebugLocEntry.h -- Support for more than 1 Value/Entry.
lib/CodeGen/AsmPrinter/DwarfDebug.cpp  -- Range handling of DW_op_pieces
lib/CodeGen/AsmPrinter/DwarfDebug.h    -- move setMInsn to .cpp
lib/CodeGen/AsmPrinter/DwarfUnit.cpp   -- emit DW_op_pieces inside of a DW_AT_location
test/DebugInfo/X86/pieces-1.ll         -- testcase!

-------------- next part --------------
A non-text attachment was scrubbed...
Name: 0001-Debug-info-Support-fragmented-variables.patch
Type: application/octet-stream
Size: 46099 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20140411/23e1ece1/attachment.obj>
-------------- next part --------------


thanks,
Adrian


More information about the llvm-commits mailing list