diff options
-rw-r--r-- | lib/Target/Sparc/SparcISelDAGToDAG.cpp | 3 | ||||
-rw-r--r-- | lib/Target/SparcV8/SparcV8ISelDAGToDAG.cpp | 3 |
2 files changed, 6 insertions, 0 deletions
diff --git a/lib/Target/Sparc/SparcISelDAGToDAG.cpp b/lib/Target/Sparc/SparcISelDAGToDAG.cpp index 336cbb7904..2b4cf73135 100644 --- a/lib/Target/Sparc/SparcISelDAGToDAG.cpp +++ b/lib/Target/Sparc/SparcISelDAGToDAG.cpp @@ -360,6 +360,9 @@ SparcV8TargetLowering::LowerCallTo(SDOperand Chain, const Type *RetTy, else ArgsSize = 0; + // Keep stack frames 8-byte aligned. + ArgsSize = (ArgsSize+7) & ~7; + Chain = DAG.getNode(ISD::CALLSEQ_START, MVT::Other, Chain, DAG.getConstant(ArgsSize, getPointerTy())); diff --git a/lib/Target/SparcV8/SparcV8ISelDAGToDAG.cpp b/lib/Target/SparcV8/SparcV8ISelDAGToDAG.cpp index 336cbb7904..2b4cf73135 100644 --- a/lib/Target/SparcV8/SparcV8ISelDAGToDAG.cpp +++ b/lib/Target/SparcV8/SparcV8ISelDAGToDAG.cpp @@ -360,6 +360,9 @@ SparcV8TargetLowering::LowerCallTo(SDOperand Chain, const Type *RetTy, else ArgsSize = 0; + // Keep stack frames 8-byte aligned. + ArgsSize = (ArgsSize+7) & ~7; + Chain = DAG.getNode(ISD::CALLSEQ_START, MVT::Other, Chain, DAG.getConstant(ArgsSize, getPointerTy())); |