[llvm] [RISC-V] Fix check of minimum vlen. (PR #114055)
Harald van Dijk via llvm-commits
llvm-commits at lists.llvm.org
Tue Oct 29 08:35:44 PDT 2024
================
@@ -1133,23 +1133,23 @@ RISCVFrameLowering::assignRVVStackObjectOffsets(MachineFunction &MF) const {
uint64_t StackSize = Offset;
- // Multiply by vscale.
- if (ST.getRealMinVLen() >= RISCV::RVVBitsPerBlock)
- StackSize *= ST.getRealMinVLen() / RISCV::RVVBitsPerBlock;
-
// Ensure the alignment of the RVV stack. Since we want the most-aligned
// object right at the bottom (i.e., any padding at the top of the frame),
// readjust all RVV objects down by the alignment padding.
- if (auto AlignmentPadding = offsetToAlignment(StackSize, RVVStackAlign)) {
- StackSize += AlignmentPadding;
- for (int FI : ObjectsToAllocate)
- MFI.setObjectOffset(FI, MFI.getObjectOffset(FI) - AlignmentPadding);
+ // Stack size and offsets are multiples of vscale, stack alignment is in
+ // bytes, we can divide stack alignment by mimimum vscale to get a maximum
----------------
hvdijk wrote:
Thanks, fixed
https://github.com/llvm/llvm-project/pull/114055
More information about the llvm-commits
mailing list