[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