summaryrefslogtreecommitdiff
path: root/compiler/optimizing/instruction_simplifier_shared.cc
diff options
context:
space:
mode:
Diffstat (limited to 'compiler/optimizing/instruction_simplifier_shared.cc')
-rw-r--r--compiler/optimizing/instruction_simplifier_shared.cc11
1 files changed, 4 insertions, 7 deletions
diff --git a/compiler/optimizing/instruction_simplifier_shared.cc b/compiler/optimizing/instruction_simplifier_shared.cc
index 7f575c0348..2215b93414 100644
--- a/compiler/optimizing/instruction_simplifier_shared.cc
+++ b/compiler/optimizing/instruction_simplifier_shared.cc
@@ -320,18 +320,15 @@ void UnfoldRotateLeft(HRol* rol) {
HBasicBlock* block = rol->GetBlock();
HGraph* graph = block->GetGraph();
ArenaAllocator* allocator = graph->GetAllocator();
- HRor* ror;
-
+ HInstruction* neg;
if (rol->GetRight()->IsConstant()) {
int32_t value = rol->GetRight()->AsIntConstant()->GetValue();
- HIntConstant* negated = graph->GetIntConstant(-value);
- ror = new (allocator) HRor(rol->GetType(), rol->GetLeft(), negated);
+ neg = graph->GetIntConstant(-value);
} else {
- HNeg* neg = new (allocator) HNeg(DataType::Type::kInt32, rol->GetRight());
+ neg = new (allocator) HNeg(DataType::Type::kInt32, rol->GetRight());
block->InsertInstructionBefore(neg, rol);
- ror = new (allocator) HRor(rol->GetType(), rol->GetLeft(), neg);
}
-
+ HInstruction* ror = new (allocator) HRor(rol->GetType(), rol->GetLeft(), neg);
block->ReplaceAndRemoveInstructionWith(rol, ror);
}