[PATCH] D21614: [codeview] Add DISubprogram::ThisAdjustment

Duncan Exon Smith via llvm-commits llvm-commits at lists.llvm.org
Thu Jun 23 03:01:46 PDT 2016


> On Jun 22, 2016, at 21:50, Reid Kleckner <rnk at google.com> wrote:
> 
> rnk created this revision.
> rnk added reviewers: aprantl, dexonsmith.
> rnk added subscribers: llvm-commits, amccarth, aaboud.
> 
> This represents the adjustment applied to the implicit 'this' parameter
> in the prologue of a virtual method in the MS C++ ABI. The adjustment is
> always zero unless multiple inheritance is involved.
> 
> This increases the size of DISubprogram by 8 bytes, unfortunately. The
> adjustment really is a signed 32-bit integer. If this size increase is
> too much, we could probably win it back by splitting out a subclass with
> info specific to virtual methods (virtuality, vindex, thisadjustment,
> containingType).

Every 8 bytes counts for a lot since we have so many of these in LTO.  If we can find some way to make it optional (via subclassing?) that would be great. 


> 
> http://reviews.llvm.org/D21614
> 
> Files:
>  include/llvm/IR/DIBuilder.h
>  include/llvm/IR/DebugInfoMetadata.h
>  lib/AsmParser/LLParser.cpp
>  lib/Bitcode/Reader/BitcodeReader.cpp
>  lib/Bitcode/Writer/BitcodeWriter.cpp
>  lib/CodeGen/AsmPrinter/CodeViewDebug.cpp
>  lib/IR/AsmWriter.cpp
>  lib/IR/DIBuilder.cpp
>  lib/IR/DebugInfoMetadata.cpp
>  lib/IR/LLVMContextImpl.h
>  test/DebugInfo/COFF/virtual-methods.ll
>  unittests/IR/MetadataTest.cpp
> 
> <D21614.61581.patch>


More information about the llvm-commits mailing list