[PATCH] D90020: [AArch64][SVE] Emit DWARF location expression for SVE stack objects.
Sander de Smalen via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Tue Dec 1 09:57:13 PST 2020
sdesmalen updated this revision to Diff 308691.
sdesmalen added a comment.
Refactored the patch so that DIExpression no longer exposes a possibility to hard-code a register. Instead this patch adds `TargetRegisterInfo::prependOffsetExpression`, which can be overridden by the target to generate an expression for a `StackOffset` if part of that offset is scalable (and thus needs a target-specific expression to describe the offset). For SVE it generates the expression manually in the form of a `SmallVector<uint64_t>` and prepends it to the given DIExpression. The default implementation in `TargetRegisterInfo` will use DIExpression::prepend() with a byte-sized offset.
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D90020/new/
https://reviews.llvm.org/D90020
Files:
llvm/include/llvm/CodeGen/TargetRegisterInfo.h
llvm/lib/CodeGen/PrologEpilogInserter.cpp
llvm/lib/CodeGen/TargetRegisterInfo.cpp
llvm/lib/Target/AArch64/AArch64RegisterInfo.cpp
llvm/lib/Target/AArch64/AArch64RegisterInfo.h
llvm/test/CodeGen/AArch64/debug-info-sve-dbg-value.mir
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D90020.308691.patch
Type: text/x-patch
Size: 13033 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20201201/ad5a254f/attachment.bin>
More information about the llvm-commits
mailing list