summaryrefslogtreecommitdiff
path: root/compiler/optimizing/instruction_simplifier.h
diff options
context:
space:
mode:
Diffstat (limited to 'compiler/optimizing/instruction_simplifier.h')
-rw-r--r--compiler/optimizing/instruction_simplifier.h13
1 files changed, 13 insertions, 0 deletions
diff --git a/compiler/optimizing/instruction_simplifier.h b/compiler/optimizing/instruction_simplifier.h
index 98ebaafebc..6f9e1f334e 100644
--- a/compiler/optimizing/instruction_simplifier.h
+++ b/compiler/optimizing/instruction_simplifier.h
@@ -60,6 +60,19 @@ class InstructionSimplifier : public HOptimization {
DISALLOW_COPY_AND_ASSIGN(InstructionSimplifier);
};
+// For bitwise operations (And/Or/Xor) with a negated input, try to use
+// a negated bitwise instruction.
+bool TryMergeNegatedInput(HBinaryOperation* op);
+
+// Convert
+// i1: AND a, b
+// SUB a, i1
+// into:
+// BIC a, a, b
+//
+// It also works if `i1` is AND b, a
+bool TryMergeWithAnd(HSub* instruction);
+
} // namespace art
#endif // ART_COMPILER_OPTIMIZING_INSTRUCTION_SIMPLIFIER_H_