| Index: src/IceTargetLoweringX8632.cpp
|
| diff --git a/src/IceTargetLoweringX8632.cpp b/src/IceTargetLoweringX8632.cpp
|
| index 2ecd77de3ce721bc02e823d0bc64e2e3451402bd..52ba7b5aa41e42630c9a5d1f75dd0fbba8f69552 100644
|
| --- a/src/IceTargetLoweringX8632.cpp
|
| +++ b/src/IceTargetLoweringX8632.cpp
|
| @@ -151,8 +151,10 @@ void TargetX8632::lowerCall(const InstCall *Instr) {
|
| Variable *esp =
|
| Func->getTarget()->getPhysicalRegister(Traits::RegisterSet::Reg_esp);
|
| Constant *Loc = Ctx->getConstantInt32(ParameterAreaSizeBytes);
|
| - StackArgLocations.push_back(
|
| - Traits::X86OperandMem::create(Func, Ty, esp, Loc));
|
| + auto *Mem = Traits::X86OperandMem::create(Func, Ty, esp, Loc);
|
| + // Stack stores for arguments are fixed to esp.
|
| + Mem->setIgnoreStackAdjust(true);
|
| + StackArgLocations.push_back(Mem);
|
| ParameterAreaSizeBytes += typeWidthInBytesOnStack(Arg->getType());
|
| }
|
| }
|
|
|