| Index: src/IceTargetLoweringX86BaseImpl.h
|
| diff --git a/src/IceTargetLoweringX86BaseImpl.h b/src/IceTargetLoweringX86BaseImpl.h
|
| index 3ed27cbb69a30ce31b43c4100b4241570821ef25..9696aacc59583e3911e3c951ab04164307b19299 100644
|
| --- a/src/IceTargetLoweringX86BaseImpl.h
|
| +++ b/src/IceTargetLoweringX86BaseImpl.h
|
| @@ -2618,7 +2618,8 @@ void TargetX86Base<TraitsType>::lowerCall(const InstCall *Instr) {
|
| // Materialize moves for arguments passed in GPRs.
|
| for (SizeT i = 0, NumGprArgs = GprArgs.size(); i < NumGprArgs; ++i) {
|
| const Type SignatureTy = GprArgs[i].first;
|
| - Operand *Arg = legalize(GprArgs[i].second);
|
| + Operand *Arg =
|
| + legalize(GprArgs[i].second, Legal_Default | Legal_Rematerializable);
|
| GprArgs[i].second =
|
| legalizeToReg(Arg, Traits::getRegisterForGprArgNum(Arg->getType(), i));
|
| assert(SignatureTy == IceType_i64 || SignatureTy == IceType_i32);
|
|
|