@@ -1272,9 +1272,7 @@ Node* PhaseIdealLoop::place_outside_loop(Node* useblock, IdealLoopTree* loop) co
// Pick control right outside the loop
for (;;) {
Node* dom = idom(useblock);
- if (loop->is_member(get_loop(dom)) ||
- // NeverBranch nodes are not assigned to the loop when constructed
- (dom->is_NeverBranch() && loop->is_member(get_loop(dom->in(0))))) {
+ if (loop->is_member(get_loop(dom))) {
break;
}
useblock = dom;
// Pick control right outside the loop
for (;;) {
Node* dom = idom(useblock);
- if (loop->is_member(get_loop(dom)) ||
- // NeverBranch nodes are not assigned to the loop when constructed
- (dom->is_NeverBranch() && loop->is_member(get_loop(dom->in(0))))) {
+ if (loop->is_member(get_loop(dom))) {
break;
}
useblock = dom;
- relates to
-
JDK-8335709 C2: assert(!loop->is_member(get_loop(useblock))) failed: must be outside loop
- Resolved
- links to
-
Commit(master) openjdk/jdk/ce83f6af
-
Review(master) openjdk/jdk/20678