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

Jeremy Morse via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Thu Oct 21 03:12:22 PDT 2021


jmorse added a comment.

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.


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