[LoongArch] Add emergency spill slot for GPR for large frames
An emergency spill slot is created when the stack size cannot be represented by an 11-bit signed number. This patch also modifies how the `sp` is adjusted in the prologue. `RegScavenger` will place the spill instruction before the prologue if a VReg is created in the prologue. This will pollute the caller's stack data. Therefore, until there is better way, we just use the `addi.w/d` instruction for stack adjustment to ensure that VReg will not be created. (RISCV has the same issue #58286) Due to the addition of emergency spill slot, some test cases that use exact stacksize need to be updated. Differential Revision: https://reviews.llvm.org/D135757
Loading
Please sign in to comment