diff options
Diffstat (limited to 'src/share/vm/opto/connode.cpp')
-rw-r--r-- | src/share/vm/opto/connode.cpp | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/src/share/vm/opto/connode.cpp b/src/share/vm/opto/connode.cpp index 8b441c994..ceebd76a6 100644 --- a/src/share/vm/opto/connode.cpp +++ b/src/share/vm/opto/connode.cpp @@ -101,6 +101,8 @@ matter ever). // Move constants to the right. Node *CMoveNode::Ideal(PhaseGVN *phase, bool can_reshape) { if( in(0) && remove_dead_region(phase, can_reshape) ) return this; + // Don't bother trying to transform a dead node + if( in(0) && in(0)->is_top() ) return NULL; assert( !phase->eqv(in(Condition), this) && !phase->eqv(in(IfFalse), this) && !phase->eqv(in(IfTrue), this), "dead loop in CMoveNode::Ideal" ); |