[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