[RISCV] Fix logic for determining RVV stack padding
authorFraser Cormack <fraser@codeplay.com>
Thu, 19 May 2022 10:03:36 +0000 (11:03 +0100)
committerFraser Cormack <fraser@codeplay.com>
Fri, 20 May 2022 12:18:52 +0000 (13:18 +0100)
commitd60ae47f9dabcbc42b894f988b51d4643447b599
treeaf089b9ea190569573ff438c42f599a30f5d5915
parenta351070710f51cc41b181130080ac9da514989d7
[RISCV] Fix logic for determining RVV stack padding

We must add padding when using SP or BP to access stack objects.
Checking whether we're missing FP is not sufficient as stack realignment
uses SP too. The test in D125962 explains the specific issue in more
detail.

Split from D125787.

Reviewed By: reames

Differential Revision: https://reviews.llvm.org/D125964
llvm/lib/Target/RISCV/RISCVFrameLowering.cpp
llvm/test/CodeGen/RISCV/rvv/wrong-stack-slot-rv32.mir