8139040-init-hs-rt Sdiff src/share/vm/opto (original) (raw)


3609 return 0; 3610 } 3611 3612 Node* SuperWord::last_node(Node* nd) { 3613 for (int ii = 0; ii < _iteration_last.length(); ii++) { 3614 Node* nnn = _iteration_last.at(ii); 3615 if (same_origin_idx(nnn, nd)) { 3616 #ifndef PRODUCT 3617 if (_vector_loop_debug) { 3618 tty->print_cr("SuperWord::last_node _clone_map.idx(nnn->_idx)=%d, _clone_map.idx(nd->_idx)=%d", 3619 _clone_map.idx(nnn->_idx), _clone_map.idx(nd->_idx)); 3620 } 3621 #endif 3622 return nnn; 3623 } 3624 } 3625 return 0; 3626 } 3627 3628 int SuperWord::mark_generations() { 3629 Node *ii_err = 0, tail_err; 3630 for (int i = 0; i < _mem_slice_head.length(); i++) { 3631 Node* phi = _mem_slice_head.at(i); 3632 assert(phi->is_Phi(), "must be phi"); 3633 3634 Node tail = _mem_slice_tail.at(i); 3635 if (_ii_last == -1) { 3636 tail_err = tail; 3637 _ii_last = _clone_map.gen(tail->_idx); 3638 } 3639 else if (_ii_last != _clone_map.gen(tail->_idx)) { 3640 #ifndef PRODUCT 3641 if (TraceSuperWord && Verbose) { 3642 tty->print_cr("SuperWord::mark_generations _ii_last error - found different generations in two tail nodes "); 3643 tail->dump(); 3644 tail_err->dump(); 3645 } 3646 #endif 3647 return -1; 3648 } 3649



3609 return 0; 3610 } 3611 3612 Node* SuperWord::last_node(Node* nd) { 3613 for (int ii = 0; ii < _iteration_last.length(); ii++) { 3614 Node* nnn = _iteration_last.at(ii); 3615 if (same_origin_idx(nnn, nd)) { 3616 #ifndef PRODUCT 3617 if (_vector_loop_debug) { 3618 tty->print_cr("SuperWord::last_node _clone_map.idx(nnn->_idx)=%d, _clone_map.idx(nd->_idx)=%d", 3619 _clone_map.idx(nnn->_idx), _clone_map.idx(nd->_idx)); 3620 } 3621 #endif 3622 return nnn; 3623 } 3624 } 3625 return 0; 3626 } 3627 3628 int SuperWord::mark_generations() { 3629 Node *ii_err = 0, tail_err = NULL; 3630 for (int i = 0; i < _mem_slice_head.length(); i++) { 3631 Node* phi = _mem_slice_head.at(i); 3632 assert(phi->is_Phi(), "must be phi"); 3633 3634 Node tail = _mem_slice_tail.at(i); 3635 if (_ii_last == -1) { 3636 tail_err = tail; 3637 _ii_last = _clone_map.gen(tail->_idx); 3638 } 3639 else if (_ii_last != _clone_map.gen(tail->_idx)) { 3640 #ifndef PRODUCT 3641 if (TraceSuperWord && Verbose) { 3642 tty->print_cr("SuperWord::mark_generations _ii_last error - found different generations in two tail nodes "); 3643 tail->dump(); 3644 tail_err->dump(); 3645 } 3646 #endif 3647 return -1; 3648 } 3649