summaryrefslogtreecommitdiff
path: root/compiler/optimizing/scheduler_arm.h
diff options
context:
space:
mode:
author xueliang.zhong <xueliang.zhong@linaro.org> 2017-06-15 11:01:11 +0100
committer Nicolas Geoffray <ngeoffray@google.com> 2017-07-21 13:50:00 +0000
commitbf9e21a33404440e1723e738975e23f7c1334e18 (patch)
treec25c5a814530c949745aa1f170505319f57a0d0e /compiler/optimizing/scheduler_arm.h
parent89ae0f42e38a2f985ac404830f2a05fecf9547e2 (diff)
Improve SchedulingLatencyVisitorARM on HCondition latency settings.
Test: m test-art-host Test: m test-art-target Change-Id: Ieb42a8511036c86a9d99972dfd7d745f64559685
Diffstat (limited to 'compiler/optimizing/scheduler_arm.h')
-rw-r--r--compiler/optimizing/scheduler_arm.h11
1 files changed, 11 insertions, 0 deletions
diff --git a/compiler/optimizing/scheduler_arm.h b/compiler/optimizing/scheduler_arm.h
index 897e97da49..b89c4fe72e 100644
--- a/compiler/optimizing/scheduler_arm.h
+++ b/compiler/optimizing/scheduler_arm.h
@@ -116,6 +116,17 @@ class SchedulingLatencyVisitorARM : public SchedulingLatencyVisitor {
#undef DECLARE_VISIT_INSTRUCTION
private:
+ bool CanGenerateTest(HCondition* cond);
+ void HandleGenerateConditionWithZero(IfCondition cond);
+ void HandleGenerateLongTestConstant(HCondition* cond);
+ void HandleGenerateLongTest(HCondition* cond);
+ void HandleGenerateLongComparesAndJumps();
+ void HandleGenerateTest(HCondition* cond);
+ void HandleGenerateConditionGeneric(HCondition* cond);
+ void HandleGenerateEqualLong(HCondition* cond);
+ void HandleGenerateConditionLong(HCondition* cond);
+ void HandleGenerateConditionIntegralOrNonPrimitive(HCondition* cond);
+ void HandleCondition(HCondition* instr);
void HandleBinaryOperationLantencies(HBinaryOperation* instr);
void HandleBitwiseOperationLantencies(HBinaryOperation* instr);
void HandleShiftLatencies(HBinaryOperation* instr);