Displaying 3 results from an estimated 3 matches for "deadmachineinstrelim".
2013 Jul 31
0
[LLVMdev] Maintaining LiveIn
I would like to maintain the livein information for physical registers
on basic blocks past register allocation, or recreate it if possible.
The goal is to be able to run a late pass of DeadMachineInstrElim, which
requires valid livein information.
The X86 target returns false for requiresRegisterScavenging so passes
like BranchFolding don't update the livein information. At that point I
gather that DeadMachineInstrElim will break.
What are the requirements to return true for requiresRegisterSc...
2010 Jun 15
0
[LLVMdev] Question on X86 backend
..., R232, R233, R234, R235, R236, R237, R238, R239,
R240, R241, R242, R243, R244, R245, R246, R247, R248, R249, R250, R251, R252, R253, R254, R255
]
in {
def CALL : OneInZeroOut<IL_OP_CALL, (outs), (ins calltarget:$dst),
"call $dst", []>;
}
If I don't specify the Uses, then DeadMachineInstrElim will remove all inputs to the function call. Once I specify the uses, it no longer does this.
Any idea why?
Thanks,
Micah
-----Original Message-----
From: llvmdev-bounces at cs.uiuc.edu [mailto:llvmdev-bounces at cs.uiuc.edu] On Behalf Of Christoph Erhardt
Sent: Tuesday, June 15, 2010 2:19 AM
To...
2010 Jun 15
2
[LLVMdev] Question on X86 backend
Hi Micah,
> In X86InstrInfo.td for Call Instructions, it mentions that Uses for
> argument registers are added manually. Can someone point me to the
> location where they are added as the comment doesn't reference a
> where or how?
the register uses are added by the function
X86TargetLowering::LowerCall() during the DAG Lowering phase. This is
the relevant code segment:
// Add