[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