Chromium Code Reviews| Index: src/IceTargetLoweringX8632.cpp |
| diff --git a/src/IceTargetLoweringX8632.cpp b/src/IceTargetLoweringX8632.cpp |
| index 46a587fe1f139727438baf153e72f350b3945311..e0a33633423d988bccba9a5e5e7318b80261a15f 100644 |
| --- a/src/IceTargetLoweringX8632.cpp |
| +++ b/src/IceTargetLoweringX8632.cpp |
| @@ -2152,6 +2152,12 @@ Operand *TargetX8632::legalize(Operand *From, LegalMask Allowed, |
| return From; |
| } |
| if (llvm::isa<Constant>(From)) { |
| + if (llvm::isa<ConstantUndef>(From)) { |
| + // Lower undefs to zero. Another option is to lower undefs to an |
|
Jim Stichnoth
2014/06/18 13:43:33
Please help future developers. :) Leave the FakeD
|
| + // uninitialized register; however, using an uninitialized register |
| + // results in less predictable code. |
| + From = Ctx->getConstantZero(From->getType()); |
| + } |
| if (!(Allowed & Legal_Imm)) { |
| Variable *Reg = makeReg(From->getType(), RegNum); |
| _mov(Reg, From); |