Displaying 4 results from an estimated 4 matches for "getlocvt".
Did you mean:
getloc
2012 Oct 26
1
[LLVMdev] Properly handling mem-loc arguments when prologue adjusts FP.
...interInfo(),false, false, 0));
}
...
[2]: LowerFormalArguments
...
if (VA.isRegLoc()) {
// Arguments passed in registers.
const TargetRegisterClass *RC = ARC::CPURegsRegisterClass;
unsigned int Register = MF.addLiveIn(VA.getLocReg(), RC);
EVT RegisterValueType = VA.getLocVT();
ArgValue = DAG.getCopyFromReg(Chain, dl, Register, RegisterValueType);
InVals.push_back(ArgValue);
} else {
// Sanity check
assert(VA.isMemLoc());
// Load the argument to a virtual register
unsigned ObjSize = VA.getLocVT().getSizeInBits()/8;
if (O...
2016 Feb 01
2
TableGen customized node with mayStore attribute is deleted if there is no use
...add this node into SDAG when I want to move the formal
argument from the specific register class to other register class. I
implement it in LowerFormalArguments() like this:
....
for (auto &VA : ArgLocs) {
if (VA.isRegLoc()) {
// Arguments passed in registers
EVT RegVT = VA.getLocVT();
VReg = RegInfo.createVirtualRegister(&FOO::BRegsRegClass);
RegInfo.addLiveIn(VA.getLocReg(), VReg);
SDValue ArgIn = DAG.getCopyFromReg(Chain, dl, VReg, RegVT);
SDValue ArgIn_copy = DAG.getNode(FOOISD::MOVE_FLAG , dl, MVT::i32,
Chain, ArgIn); // this node is added in o...
2013 Feb 02
0
[LLVMdev] Moving return value registers from MRI to return instructions
...Operand #0 = Chain (updated below)
// Operand #1 = Bytes To Pop
@@ -1666,6 +1659,7 @@ X86TargetLowering::LowerReturn(SDValue Chain,
Chain = DAG.getCopyToReg(Chain, dl, VA.getLocReg(), ValToCopy, Flag);
Flag = Chain.getValue(1);
+ RetOps.push_back(DAG.getRegister(VA.getLocReg(), VA.getLocVT()));
}
// The x86-64 ABIs require that for returning structs by value we copy
@@ -1686,7 +1680,7 @@ X86TargetLowering::LowerReturn(SDValue Chain,
Flag = Chain.getValue(1);
// RAX/EAX now acts like a return value.
- MRI.addLiveOut(RetValReg);
+ RetOps.push_back(DAG.getRegis...
2015 Nov 25
2
need help for customized backend LowerFormalArguments
...lAssign, 16> ArgLocs;
CCState CCInfo(CallConv, isVarArg, DAG.getMachineFunction(), ArgLocs,
*DAG.getContext());
CCInfo.AnalyzeFormalArguments(Ins, CC_FOO);
for (auto &VA : ArgLocs) {
if (VA.isRegLoc()) {
// Arguments passed in registers
EVT RegVT = VA.getLocVT();
const unsigned VReg =
RegInfo.createVirtualRegister(&FOO::PRegsRegClass);
RegInfo.addLiveIn(VA.getLocReg(), VReg);
SDValue ArgIn = DAG.getCopyFromReg(Chain, dl, VReg, RegVT);
InVals.push_back(ArgIn);
continue;
}
// assume the parameter registers are eno...