summaryrefslogtreecommitdiff
path: root/compiler/optimizing/nodes.cc
diff options
context:
space:
mode:
author Mingyao Yang <mingyao@google.com> 2016-11-17 09:04:53 -0800
committer Mingyao Yang <mingyao@google.com> 2016-12-19 14:26:33 -0800
commitb0b051ad6c9fab511346882650d5d689f805a980 (patch)
treefe02f128018f1aa55be5c0425295ae0ef670de2c /compiler/optimizing/nodes.cc
parentd54f43ca39dfa92f08c2d760123f185f0f65fb86 (diff)
CHA guard optimization (elimination/hoisting).
Test: manual by checking the dump-cfg output. Change-Id: I254e168b9a85d2d3d23e02eea7e129c1bc9ab920
Diffstat (limited to 'compiler/optimizing/nodes.cc')
-rw-r--r--compiler/optimizing/nodes.cc4
1 files changed, 3 insertions, 1 deletions
diff --git a/compiler/optimizing/nodes.cc b/compiler/optimizing/nodes.cc
index cabc0782ca..b9e284f6f8 100644
--- a/compiler/optimizing/nodes.cc
+++ b/compiler/optimizing/nodes.cc
@@ -1357,7 +1357,9 @@ std::ostream& operator<<(std::ostream& os, const HInstruction::InstructionKind&
void HInstruction::MoveBefore(HInstruction* cursor) {
DCHECK(!IsPhi());
DCHECK(!IsControlFlow());
- DCHECK(CanBeMoved());
+ DCHECK(CanBeMoved() ||
+ // HShouldDeoptimizeFlag can only be moved by CHAGuardOptimization.
+ IsShouldDeoptimizeFlag());
DCHECK(!cursor->IsPhi());
next_->previous_ = previous_;