equal
deleted
inserted
replaced
2484 lp->set_irreducible(succ); |
2484 lp->set_irreducible(succ); |
2485 if (!succ->is_on_work_list()) { |
2485 if (!succ->is_on_work_list()) { |
2486 // Assume irreducible entries need more data flow |
2486 // Assume irreducible entries need more data flow |
2487 add_to_work_list(succ); |
2487 add_to_work_list(succ); |
2488 } |
2488 } |
2489 lp = lp->parent(); |
2489 Loop* plp = lp->parent(); |
2490 assert(lp != NULL, "nested loop must have parent by now"); |
2490 if (plp == NULL) { |
|
2491 // This only happens for some irreducible cases. The parent |
|
2492 // will be updated during a later pass. |
|
2493 break; |
|
2494 } |
|
2495 lp = plp; |
2491 } |
2496 } |
2492 |
2497 |
2493 // Merge loop tree branch for all successors. |
2498 // Merge loop tree branch for all successors. |
2494 innermost = innermost == NULL ? lp : innermost->sorted_merge(lp); |
2499 innermost = innermost == NULL ? lp : innermost->sorted_merge(lp); |
2495 |
2500 |