[PATCH] D157872: [SelectionDAG] Use TypeSize variant of ComputeValueVTs to compute correct offsets for scalable aggregate types.
Paul Walker via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Mon Aug 14 07:53:57 PDT 2023
paulwalker-arm added reviewers: eopXD, craig.topper, sdesmalen, kmclaughlin, efriedma.
paulwalker-arm added a comment.
This fixes the issue I reported against D146872 <https://reviews.llvm.org/D146872>.
I investigated making MachinePointerInfo TypeSize aware but that felt wrong because MachinePointerInfo offsets are signed. In the end I've followed the approach used when splitting scalable vector storage ops and used a null MachinePointerInfo.
Whilst not specifically needed today (the LangRef only supports aggregate types that are either all fixed length or all scalable) perhaps the correct answer is for ComputeValueVTs to return StackOffsets, that way we're not a million miles away from supporting aggregate types that mix fixed length and scalable types. StackOffset being signed would then be a better (although not necessarily an easy) fit for MachinePointerInfo.
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D157872/new/
https://reviews.llvm.org/D157872
More information about the llvm-commits
mailing list