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)
Wrong logic, I will modify it to enable fp when the size is greater than 4096 and frame-pointer=none is not specified.