< prev index next >

src/hotspot/share/opto/superword.cpp

Print this page

        

*** 1239,1250 **** // in an equivalent manner. But, we know that invariant range checks are guaranteed to // throw before the loop (if they would have thrown). Thus, the loop would not have been reached. // Therefore, if the control nodes for both are range checks, we accept them to be isomorphic. for (DUIterator_Fast imax, i = s1->fast_outs(imax); i < imax; i++) { Node* t1 = s1->fast_out(i); ! for (DUIterator_Fast imax, i = s2->fast_outs(imax); i < imax; i++) { ! Node* t2 = s2->fast_out(i); if (VectorNode::is_muladds2i(t1) && VectorNode::is_muladds2i(t2)) { return true; } } } --- 1239,1250 ---- // in an equivalent manner. But, we know that invariant range checks are guaranteed to // throw before the loop (if they would have thrown). Thus, the loop would not have been reached. // Therefore, if the control nodes for both are range checks, we accept them to be isomorphic. for (DUIterator_Fast imax, i = s1->fast_outs(imax); i < imax; i++) { Node* t1 = s1->fast_out(i); ! for (DUIterator_Fast jmax, j = s2->fast_outs(jmax); j < jmax; j++) { ! Node* t2 = s2->fast_out(j); if (VectorNode::is_muladds2i(t1) && VectorNode::is_muladds2i(t2)) { return true; } } }
< prev index next >