Chromium Code Reviews| Index: src/IceInst.cpp |
| diff --git a/src/IceInst.cpp b/src/IceInst.cpp |
| index f9cfdddf60c13b41771fd4a9fa80dd6d46edd2db..af1b6e19b664ee7f9442ec68188d948e578d3500 100644 |
| --- a/src/IceInst.cpp |
| +++ b/src/IceInst.cpp |
| @@ -1094,9 +1094,14 @@ bool checkForRedundantAssign(const Variable *Dest, const Operand *Source) { |
| // upper 32 bits of rax. We need to recognize and preserve these. |
| return true; |
| } |
| - if (!Dest->hasReg() && !SrcVar->hasReg() && |
| - Dest->getStackOffset() == SrcVar->getStackOffset()) |
| - return true; |
| + if (!Dest->hasReg() && !SrcVar->hasReg()) { |
| + if (!Dest->hasStackOffset() || !SrcVar->hasStackOffset()) { |
| + return false; |
| + } |
| + if (Dest->getStackOffset() == SrcVar->getStackOffset()) { |
|
John
2016/07/06 16:07:39
I would do:
if (Dest.StackOffset != Src.StackOffs
Jim Stichnoth
2016/07/08 10:37:54
Done.
|
| + return true; |
| + } |
| + } |
| return false; |
| } |