Displaying 3 results from an estimated 3 matches for "getlocmemoffset".
2012 Oct 26
1
[LLVMdev] Properly handling mem-loc arguments when prologue adjusts FP.
...assert(VA.isMemLoc());
// Get the stack pointer if needed.
if (StackPtr.getNode() == 0) {
StackPtr = DAG.getCopyFromReg(Chain, dl, ARC::SP, getPointerTy());
}
SDValue PtrOff = DAG.getNode(ISD::ADD, dl, getPointerTy(), StackPtr,
DAG.getIntPtrConstant(VA.getLocMemOffset()));
MemOpChains.push_back(DAG.getStore(Chain, dl, Arg, PtrOff,
MachinePointerInfo(),false, false, 0));
}
...
[2]: LowerFormalArguments
...
if (VA.isRegLoc()) {
// Arguments passed in registers.
const TargetRegisterClass *RC = ARC::CPURegsRegisterClass;
u...
2012 Sep 21
0
[LLVMdev] Seperate stack location for outgoing parameters and local variables for custom target?
...and other local variables?
I see that in the LowerCall function in ISelLowering.cpp, there's this code
(From the MIPS target):
* // Create the frame index object for this incoming parameter
LastFI = MFI->CreateFixedObject(ValVT.getSizeInBits()/8,
VA.getLocMemOffset(), true);
SDValue PtrOff = DAG.getFrameIndex(LastFI, getPointerTy());*
This looks like what I might want to change, but I'm not sure what's the
right thing to do. Here's what I tried to change it to:
*
LastFI = MFI->CreateStackObject(ValVT.getSizeInBits()/8,...
2008 Jan 08
1
[LLVMdev] RFC: Tailcall Improvement
Here is a patch to improve argument lowering for tail calls. Before
this patch all outgoing arguments were move to the stack slot where
they would go on a normal function call and from there moved back to
the tail call stack slot to prevent overwriting of values.
After this patch only arguments that source from callers arguments
(formal_arguments) are lowered this way.
I moved some code