From 623ca8b4ba65ed42c1904ff0a06f2b10889f550b Mon Sep 17 00:00:00 2001 From: zhoujing Date: Fri, 21 Jul 2023 18:02:33 +0800 Subject: [PATCH] [VENTUS][RISCV][fix] Fix stack size calculation bug --- llvm/lib/Target/RISCV/RISCVFrameLowering.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/llvm/lib/Target/RISCV/RISCVFrameLowering.cpp b/llvm/lib/Target/RISCV/RISCVFrameLowering.cpp index 17bc0ae76ac5..475a57d85f60 100644 --- a/llvm/lib/Target/RISCV/RISCVFrameLowering.cpp +++ b/llvm/lib/Target/RISCV/RISCVFrameLowering.cpp @@ -702,7 +702,7 @@ uint64_t RISCVFrameLowering::getStackSize(MachineFunction &MF, // Need to consider the alignment for different frame index uint64_t Align = MFI.getObjectAlign(I).value(); uint64_t ActualAlignSize = (Align + 3) >> 2; - uint64_t Size = ActualAlignSize * MFI.getObjectSize(I); + uint64_t Size = ActualAlignSize * ((MFI.getObjectSize(I) + 3) >> 2) * 4; StackSize += Size; }