summaryrefslogtreecommitdiff
path: root/compiler/optimizing/nodes.h
diff options
context:
space:
mode:
author Nicolas Geoffray <ngeoffray@google.com> 2014-09-23 11:25:56 +0000
committer Gerrit Code Review <noreply-gerritcodereview@google.com> 2014-09-23 11:25:56 +0000
commit2e1391b9abdafdbe7e0ef5ef116c49f812394056 (patch)
treebdac0775c4f9290741f9583c2acbd53655c63fb0 /compiler/optimizing/nodes.h
parent0f6016557d300a5a07c972465aef1ab2a125f5d1 (diff)
parent18efde5017369e005f1e8bcd3bbfb04e85053640 (diff)
Merge "Fix code generation with materialized conditions."
Diffstat (limited to 'compiler/optimizing/nodes.h')
-rw-r--r--compiler/optimizing/nodes.h7
1 files changed, 7 insertions, 0 deletions
diff --git a/compiler/optimizing/nodes.h b/compiler/optimizing/nodes.h
index fd65338442..be6b355d22 100644
--- a/compiler/optimizing/nodes.h
+++ b/compiler/optimizing/nodes.h
@@ -1095,8 +1095,15 @@ class HCondition : public HBinaryOperation {
: HBinaryOperation(Primitive::kPrimBoolean, first, second) {}
virtual bool IsCommutative() { return true; }
+
+ // For register allocation purposes, returns whether this instruction needs to be
+ // materialized (that is, not just be in the processor flags).
bool NeedsMaterialization() const;
+ // For code generation purposes, returns whether this instruction is just before
+ // `if_`, and disregard moves in between.
+ bool IsBeforeWhenDisregardMoves(HIf* if_) const;
+
DECLARE_INSTRUCTION(Condition);
virtual IfCondition GetCondition() const = 0;