[LLVMdev] MachineOperand Fixed Register

dag at cray.com dag at cray.com
Mon May 20 15:21:38 PDT 2013


Jakob Stoklund Olesen <stoklund at 2pi.dk> writes:

> On May 16, 2013, at 2:23 PM, dag at cray.com wrote:
>
>> Is there any way to determine if a Register-type MachineOperand
>> represents a fixed machine register?  For example, call arguments must
>> end up in specific machine register but I don't see any way to ascertain
>> this from the information in MachineOperand.  Basically, I need to know
>> if I am allowed to rename a MachineOperand or not after register
>> allocation.
>
> I think the anti-dependency breakers in the post-RA scheduler can do that.

Ok, will take a look, thanks!

I think I've cobbled something together that works by not allowing
manipulation of call operands, implicit defs/uses (which could be
"wired" registers) and any operand of "hasExtraSrcRegAllocReq()"
instructions.  Seems to cover it for now, anyway, though it may be too
restrictive.

                        -David



More information about the llvm-dev mailing list