[all-commits] [llvm/llvm-project] b4a358: [RISCV] Fix missing emergency slots for scalable s...
Fraser Cormack via All-commits
all-commits at lists.llvm.org
Tue Apr 20 02:07:17 PDT 2021
Branch: refs/heads/main
Home: https://github.com/llvm/llvm-project
Commit: b4a358a7ba0f273b8c8a4a0e63801872a1bbfd4c
https://github.com/llvm/llvm-project/commit/b4a358a7ba0f273b8c8a4a0e63801872a1bbfd4c
Author: Fraser Cormack <fraser at codeplay.com>
Date: 2021-04-20 (Tue, 20 Apr 2021)
Changed paths:
M llvm/lib/Target/RISCV/RISCVFrameLowering.cpp
M llvm/lib/Target/RISCV/RISCVInstrInfo.cpp
M llvm/test/CodeGen/RISCV/rvv/access-fixed-objects-by-rvv.ll
M llvm/test/CodeGen/RISCV/rvv/allocate-lmul-2-4-8.ll
A llvm/test/CodeGen/RISCV/rvv/emergency-slot.mir
M llvm/test/CodeGen/RISCV/rvv/localvar.ll
Log Message:
-----------
[RISCV] Fix missing emergency slots for scalable stack offsets
This patch adds an additional emergency spill slot to RVV code. This is
required as RVV stack offsets may require an additional register to compute.
This patch includes an optimization by @HsiangKai <kai.wang at sifive.com>
to reduce the number of registers required for the computation of stack
offsets from 3 to 2. Otherwise we'd need two additional emergency spill
slots.
Reviewed By: HsiangKai
Differential Revision: https://reviews.llvm.org/D100574
More information about the All-commits
mailing list