Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Register scavenging #1140

Closed
llvmbot opened this issue May 4, 2006 · 4 comments
Closed

Register scavenging #1140

llvmbot opened this issue May 4, 2006 · 4 comments
Labels
bugzilla Issues migrated from bugzilla code-quality llvm:regalloc

Comments

@llvmbot
Copy link
Collaborator

llvmbot commented May 4, 2006

Bugzilla Link 768
Resolution FIXED
Resolved on Feb 18, 2008 00:46
Version trunk
OS MacOS X
Reporter LLVM Bugzilla Contributor
CC @lattner

Extended Description

I'm not sure this is technically a register allocator to-do, but we need a way to scavenge registers during
frame index elimination and spilling for targets that need additional registers for creating large offsets, or
cannot use immediate offsets in addresses during spilling.

Examples of this in the PPC backend include using r0 as a scratch register during frame index elimination
for creating constant offsets larger than 32k, and using r0 as an index register for saving and restoring
vector registers, which can only use reg+reg addressing.

Once this is done, all use of r0 should be removed from the PPC backend.

@llvmbot
Copy link
Collaborator Author

llvmbot commented May 22, 2007

ARM backend now happily makes use of register scavenger. Nate is doing the work to move PPC over.

@lattner
Copy link
Collaborator

lattner commented Oct 8, 2007

Evan, is this done?

@llvmbot
Copy link
Collaborator Author

llvmbot commented Oct 8, 2007

No, PPC still needs this.

@lattner
Copy link
Collaborator

lattner commented Feb 18, 2008

We have a register scavenger now, targets can switch over to using it as they please.

This issue was closed.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bugzilla Issues migrated from bugzilla code-quality llvm:regalloc
Projects
None yet
Development

No branches or pull requests

2 participants