Recommit "[RISCV] Enable the LocalStackSlotAllocation pass support"
This includes a fix for the tramp3d failure from the llvm-testsuite that caused the last revert. Hopefully the others failures were the same issue. Original commit message: For RISC-V, load/store(exclude vector load/store) instructions only has a 12 bit immediate operand. If the offset is out-of-range, it must make use of a temp register to make up this offset. If between these offsets, they have a small(IsInt<12>) relative offset, LocalStackSlotAllocation pass can find a value as frame base register's value, and replace the origin offset with this register's value plus the relative offset. Co-authored-by:luxufan <luxufan@iscas.ac.cn> Co-authored-by:
Craig Topper <craig.topper@sifive.com> Differential Revision: https://reviews.llvm.org/D98101
parent
968f2c77
Please register or sign in to comment