[RISCV] Refactor and improve eliminateFrameIndex.
There are few changes mixed in here. -Try to reuse the destination register from ADDI instead of always creating a virtual register. This way we lean on the register scavenger in fewer case. -Explicitly reuse the primary virtual register when possible. There's still a case where both getVLENFactoredAmount and handling large fixed offsets can both create a secondary virtual register. -Combine similar BuildMI calls by manipulating the Register variables. There are still a couple early outs for ADDI, but overall I tried to arrange the code into steps. Reviewed By: reames Differential Revision: https://reviews.llvm.org/D135009
Loading
Please sign in to comment