< prev index next >

src/share/vm/opto/superword.cpp

Print this page
rev 9088 : 8139040: Fix initializations before ShouldNotReachHere() etc. and enable -Wuninitialized on linux.
Reviewed-by: stuefe, coleenp


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 = NULL, *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 


< prev index next >