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

Reid Kleckner via llvm-commits llvm-commits at lists.llvm.org
Thu Jul 7 17:09:20 PDT 2016

On Thu, Jun 30, 2016 at 8:07 PM, Duncan P. N. Exon Smith <
dexonsmith at apple.com> wrote:

> dexonsmith added a subscriber: dexonsmith.
> dexonsmith added a comment.
> You never answered my question from a few weeks ago:
> > 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.

I missed your comment, and my reply from last week never hit the list, so
let's write it again.


Are you suggesting we have a DIMSSubprogram, or a DIVirtualMethod? We could
have a DIVirtualMethod that contains Virtuality, VirtualIndex, and
ThisAdjustment. It's still a net space increase for 64-bit because it won't
shrink sizeof(DISubprogram) and we will still be wasting memory for
ThisAdjustment for non-MS virtual methods.

I don't really want to have DIMSVirtualMethod or DIMSSubprogram, I feel
like that will make our debug IR more divergent, not less. Do you think the
memory savings is worth the complexity?

I'm hesitant to start making subclasses on my own without understanding
where you really want to go with the subprogram declaration / definition
split. Maybe we can chat about this later tonight, if you're going to the
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20160707/5ad11ac5/attachment.html>

More information about the llvm-commits mailing list