diff options
author | Harald van Dijk <harald.vandijk@codeplay.com> | 2024-10-29 17:30:30 +0000 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-10-29 17:30:30 +0000 |
commit | 950ee75909d94c582ecac4d3d559c364ed88244f (patch) | |
tree | bdf9a29f460e85b3d549fd406163704e954c8e8d /flang/lib/Frontend/CompilerInvocation.cpp | |
parent | b510cdb895b9188e5819c4c85a6dab22a4d14385 (diff) | |
download | llvm-950ee75909d94c582ecac4d3d559c364ed88244f.zip llvm-950ee75909d94c582ecac4d3d559c364ed88244f.tar.gz llvm-950ee75909d94c582ecac4d3d559c364ed88244f.tar.bz2 |
[RISC-V] Fix check of minimum vlen. (#114055)
If we have a minimum vlen, we were adjusting StackSize to change the
unit from vscale to bytes, and then calculating the required padding
size for alignment in bytes. However, we then used that padding size as
an offset in vscale units, resulting in misplaced stack objects.
While it would be possible to adjust the object offsets by dividing
AlignmentPadding by ST.getRealMinVLen() / RISCV::RVVBitsPerBlock, we can
simplify the calculation a bit if instead we adjust the alignment to be
in vscale units.
@topperc This fixes a bug I am seeing after #110312, but I am not 100%
certain I am understanding the code correctly, could you please see if
this makes sense to you?
Diffstat (limited to 'flang/lib/Frontend/CompilerInvocation.cpp')
0 files changed, 0 insertions, 0 deletions