diff options
Diffstat (limited to 'lib/Target/Sparc/SparcV8ISelSimple.cpp')
-rw-r--r-- | lib/Target/Sparc/SparcV8ISelSimple.cpp | 3 |
1 files changed, 1 insertions, 2 deletions
diff --git a/lib/Target/Sparc/SparcV8ISelSimple.cpp b/lib/Target/Sparc/SparcV8ISelSimple.cpp index 6999affa74..1a67ebb36c 100644 --- a/lib/Target/Sparc/SparcV8ISelSimple.cpp +++ b/lib/Target/Sparc/SparcV8ISelSimple.cpp @@ -789,10 +789,9 @@ void V8ISel::visitCallInst(CallInst &I) { const unsigned *OAREnd = &OutgoingArgRegs[6]; const unsigned *OAR = &OutgoingArgRegs[0]; unsigned ArgOffset = 68; + if (extraStack) BuildMI (BB, V8::ADJCALLSTACKDOWN, 1).addImm (extraStack); for (unsigned i = 1; i < I.getNumOperands (); ++i) { unsigned ArgReg = getReg (I.getOperand (i)); - if (i == 7 && extraStack) - BuildMI (BB, V8::ADJCALLSTACKDOWN, 1).addImm (extraStack); if (getClassB (I.getOperand (i)->getType ()) < cLong) { // Schlep it over into the incoming arg register if (ArgOffset < 92) { |