Mercurial > hg > truffle
comparison src/share/vm/opto/loopopts.cpp @ 401:ee8f06bfb27c
6743188: incomplete fix for 6700047 C2 failed in idom_no_update
Reviewed-by: rasbold, kvn
author | never |
---|---|
date | Fri, 03 Oct 2008 13:58:20 -0700 |
parents | 194b8e3a2fc4 |
children | 98cb887364d3 |
comparison
equal
deleted
inserted
replaced
400:cc80376deb0c | 401: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); |