[llvm-dev] Reserved/Unallocatable Registers

Andrew Trick via llvm-dev llvm-dev at lists.llvm.org
Fri Feb 26 11:20:56 PST 2016

> On Feb 26, 2016, at 10:52 AM, Matthias Braun <mbraun at apple.com> wrote:
> Indeed the current code respects ordering dependencies for reserved registers, so rule 3) above can just be removed and we treat reserved regsiters like any other for reordering.
> We can handle them like any other register for calls as well then I guess? Moving through calls should be legal if the calls regmask shows they are preserved, or do you have an example where this would be bad?

I’m not sure if they should be marked call clobbered or not. I think that depends on how the register is used.

But either way, reserved register writes should never move across a call because the callee or runtime may read that register. It’s an out-of-band call argument.

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20160226/76e640fb/attachment.html>

More information about the llvm-dev mailing list