diff options
Diffstat (limited to 'compiler/optimizing/instruction_simplifier_arm64.cc')
-rw-r--r-- | compiler/optimizing/instruction_simplifier_arm64.cc | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/compiler/optimizing/instruction_simplifier_arm64.cc b/compiler/optimizing/instruction_simplifier_arm64.cc index f57448d70f..8dd64e59ee 100644 --- a/compiler/optimizing/instruction_simplifier_arm64.cc +++ b/compiler/optimizing/instruction_simplifier_arm64.cc @@ -77,6 +77,7 @@ class InstructionSimplifierArm64Visitor 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; @@ -234,6 +235,11 @@ void InstructionSimplifierArm64Visitor::VisitOr(HOr* instruction) { } } +void InstructionSimplifierArm64Visitor::VisitRol(HRol* rol) { + UnfoldRotateLeft(rol); + RecordSimplification(); +} + void InstructionSimplifierArm64Visitor::VisitShl(HShl* instruction) { if (instruction->InputAt(1)->IsConstant()) { TryMergeIntoUsersShifterOperand(instruction); |