src/share/vm/opto/loopopts.cpp

changeset 836
ee8f06bfb27c
parent 802
194b8e3a2fc4
child 1040
98cb887364d3
equal deleted inserted replaced
835:cc80376deb0c 836:ee8f06bfb27c
1900 if (!use->is_Phi()) { 1900 if (!use->is_Phi()) {
1901 use_c = has_ctrl(use) ? get_ctrl(use) : use->in(0); 1901 use_c = has_ctrl(use) ? get_ctrl(use) : use->in(0);
1902 } else { 1902 } else {
1903 // Use in a phi is considered a use in the associated predecessor block 1903 // Use in a phi is considered a use in the associated predecessor block
1904 use_c = use->in(0)->in(j); 1904 use_c = use->in(0)->in(j);
1905 }
1906 if (use_c->is_CountedLoop()) {
1907 use_c = use_c->in(LoopNode::EntryControl);
1908 } 1905 }
1909 set_ctrl(n_clone, use_c); 1906 set_ctrl(n_clone, use_c);
1910 assert(!loop->is_member(get_loop(use_c)), "should be outside loop"); 1907 assert(!loop->is_member(get_loop(use_c)), "should be outside loop");
1911 get_loop(use_c)->_body.push(n_clone); 1908 get_loop(use_c)->_body.push(n_clone);
1912 _igvn.register_new_node_with_optimizer(n_clone); 1909 _igvn.register_new_node_with_optimizer(n_clone);

mercurial