mirror of
https://github.com/RPCSX/llvm.git
synced 2024-12-14 15:39:00 +00:00
Fix the memoperand offsets in code generated for va_start.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107948 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
a5d4391d6d
commit
01dcb18cf3
@ -6755,7 +6755,7 @@ SDValue X86TargetLowering::LowerVASTART(SDValue Op, SelectionDAG &DAG) const {
|
|||||||
Store = DAG.getStore(Op.getOperand(0), dl,
|
Store = DAG.getStore(Op.getOperand(0), dl,
|
||||||
DAG.getConstant(FuncInfo->getVarArgsFPOffset(),
|
DAG.getConstant(FuncInfo->getVarArgsFPOffset(),
|
||||||
MVT::i32),
|
MVT::i32),
|
||||||
FIN, SV, 0, false, false, 0);
|
FIN, SV, 4, false, false, 0);
|
||||||
MemOps.push_back(Store);
|
MemOps.push_back(Store);
|
||||||
|
|
||||||
// Store ptr to overflow_arg_area
|
// Store ptr to overflow_arg_area
|
||||||
@ -6763,7 +6763,7 @@ SDValue X86TargetLowering::LowerVASTART(SDValue Op, SelectionDAG &DAG) const {
|
|||||||
FIN, DAG.getIntPtrConstant(4));
|
FIN, DAG.getIntPtrConstant(4));
|
||||||
SDValue OVFIN = DAG.getFrameIndex(FuncInfo->getVarArgsFrameIndex(),
|
SDValue OVFIN = DAG.getFrameIndex(FuncInfo->getVarArgsFrameIndex(),
|
||||||
getPointerTy());
|
getPointerTy());
|
||||||
Store = DAG.getStore(Op.getOperand(0), dl, OVFIN, FIN, SV, 0,
|
Store = DAG.getStore(Op.getOperand(0), dl, OVFIN, FIN, SV, 8,
|
||||||
false, false, 0);
|
false, false, 0);
|
||||||
MemOps.push_back(Store);
|
MemOps.push_back(Store);
|
||||||
|
|
||||||
@ -6772,7 +6772,7 @@ SDValue X86TargetLowering::LowerVASTART(SDValue Op, SelectionDAG &DAG) const {
|
|||||||
FIN, DAG.getIntPtrConstant(8));
|
FIN, DAG.getIntPtrConstant(8));
|
||||||
SDValue RSFIN = DAG.getFrameIndex(FuncInfo->getRegSaveFrameIndex(),
|
SDValue RSFIN = DAG.getFrameIndex(FuncInfo->getRegSaveFrameIndex(),
|
||||||
getPointerTy());
|
getPointerTy());
|
||||||
Store = DAG.getStore(Op.getOperand(0), dl, RSFIN, FIN, SV, 0,
|
Store = DAG.getStore(Op.getOperand(0), dl, RSFIN, FIN, SV, 16,
|
||||||
false, false, 0);
|
false, false, 0);
|
||||||
MemOps.push_back(Store);
|
MemOps.push_back(Store);
|
||||||
return DAG.getNode(ISD::TokenFactor, dl, MVT::Other,
|
return DAG.getNode(ISD::TokenFactor, dl, MVT::Other,
|
||||||
|
Loading…
Reference in New Issue
Block a user