[PATCH] D90046: [LiveDebugValues] Handle spill locations with a fixed and scalable component.
Jeremy Morse via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Mon Dec 7 07:50:18 PST 2020
jmorse added a comment.
Forgive my ignorance on scalable vectors; but is there definitely a scenario where the "Scalable" portion of the stack offset is nonzero, and if so could the test cover it please.
Right now I believe that for aggregate types:
- We can refer to portions of structs if they're split by SROA and promoted from there,
- The same for arrays that are completely promoted,
- All other aggregates are left on the stack, and we only describe their stack address.
As a result, the stack-location tracking in LiveDebugValues is only geared towards tracking the spills / restores of scalars that the register allocator introduces, and sometimes entire vectors. I have a fear that if this patch is trying to make elements within scalable vectors describable to debug-info, it might be aiming to do something that isn't supported.
This probably stems from not understanding scalable vectors; would you have any source examples of when this patch becomes necessary, just so that I can work through them?
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D90046/new/
https://reviews.llvm.org/D90046
More information about the llvm-commits
mailing list