[PATCH] D112133: [DebugInfo][Instr] Track subregisters across stack spills/restores

Djordje Todorovic via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Thu Oct 21 03:56:52 PDT 2021


djtodoro added a comment.

In D112133#3077383 <https://reviews.llvm.org/D112133#3077383>, @jmorse wrote:

> In D112133#3077284 <https://reviews.llvm.org/D112133#3077284>, @djtodoro wrote:
>
>> I was wondering, shell we be paying attention to subregisters in spills/restores in the case of `VarLocBasedLDV`?
>
> This should be possible -- it'd involve enumerating all subregisters in `transferSpillOrRestoreInst, finding VarLocs for them, then moving them to a stack location. It would probably mean tracking the size of different spills, so that when a stack restore happens, the right variables are restored to the right subregisters.
>
> It might come with a performance cost, as the number of locations tracked for each variable on the stack goes up a lot. InstrRefBasedLDV can get away with this because it only solves the problem once, it doesn't do it for each individual variable. On the other hand, spills are a small proportion of the locations tracked by by LiveDebugValues.

I see... But I guess it can give us a decent location coverage improvement, especially for targets such as x86, right?


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D112133/new/

https://reviews.llvm.org/D112133



More information about the llvm-commits mailing list