diff options
Diffstat (limited to 'compiler/optimizing/instruction_simplifier_arm.cc')
-rw-r--r-- | compiler/optimizing/instruction_simplifier_arm.cc | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/compiler/optimizing/instruction_simplifier_arm.cc b/compiler/optimizing/instruction_simplifier_arm.cc index a050f86363..7dccc036b5 100644 --- a/compiler/optimizing/instruction_simplifier_arm.cc +++ b/compiler/optimizing/instruction_simplifier_arm.cc @@ -74,6 +74,7 @@ class InstructionSimplifierArmVisitor final : public HGraphVisitor { void VisitArraySet(HArraySet* instruction) override; void VisitMul(HMul* instruction) override; void VisitOr(HOr* instruction) override; + void VisitRol(HRol* instruction) override; void VisitShl(HShl* instruction) override; void VisitShr(HShr* instruction) override; void VisitSub(HSub* instruction) override; @@ -263,6 +264,11 @@ void InstructionSimplifierArmVisitor::VisitOr(HOr* instruction) { } } +void InstructionSimplifierArmVisitor::VisitRol(HRol* instruction) { + UnfoldRotateLeft(instruction); + RecordSimplification(); +} + void InstructionSimplifierArmVisitor::VisitShl(HShl* instruction) { if (instruction->InputAt(1)->IsConstant()) { TryMergeIntoUsersShifterOperand(instruction); |