-
Notifications
You must be signed in to change notification settings - Fork 10.9k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
[RISCV] Move VSPILL/VRELOAD expansion for vector tuples to eliminateF…
…rameIndex. We need a scratch GPR to increment the base pointer for each subsequent register. We currently reuse the input GPR for the base pointer without declaring it as a Def of the pseudo. We can't add it as a Def of the pseudo at creation time because it doesn't get register allocated. This was tried in D109405. Seems the only choice we have is to scavenge the GPR. This patch moves the expansion to eliminateFrameIndex where we can create virtual registers that will be scavenged. This also eliminates the extra operand for passing vlenb from frame lowering to expand pseudos. I need to do more testing on real world code, but wanted to get this up for early review. I hope this will fix the issue reported in D123394, but I haven't checked yet. Reviewed By: reames Differential Revision: https://reviews.llvm.org/D139169
- Loading branch information
Showing
8 changed files
with
204 additions
and
226 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.