diff options
Diffstat (limited to 'compiler/optimizing/instruction_simplifier_shared.h')
-rw-r--r-- | compiler/optimizing/instruction_simplifier_shared.h | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/compiler/optimizing/instruction_simplifier_shared.h b/compiler/optimizing/instruction_simplifier_shared.h index de70ec5a8a..8e61109b0e 100644 --- a/compiler/optimizing/instruction_simplifier_shared.h +++ b/compiler/optimizing/instruction_simplifier_shared.h @@ -77,6 +77,14 @@ bool TryExtractVecArrayAccessAddress(HVecMemoryOperation* access, HInstruction* // Add(c, Sub(b, a)) bool TryReplaceSubSubWithSubAdd(HSub* last_sub); +// ARM does not contain instruction ROL so replace +// ROL dest, a, distance +// with +// NEG neg, distance +// ROR dest, a, neg +// before GVN to give it a chance to deduplicate the instructions, if it's able. +void UnfoldRotateLeft(HRol* rol); + } // namespace art #endif // ART_COMPILER_OPTIMIZING_INSTRUCTION_SIMPLIFIER_SHARED_H_ |