Lines Matching refs:loop2
228 edge NEW_E leading from LOOP1 exit to LOOP2 (via in intermediate
230 via the original entry or via NEW_E, so the entry values of LOOP2
232 of LOOP1. Insert new phi nodes in LOOP2 pre-header reflecting
236 connect_loop_phis (class loop *loop1, class loop *loop2, edge new_e)
238 basic_block rest = loop_preheader_edge (loop2)->src;
243 edge seconde = loop_preheader_edge (loop2);
247 psi_second = gsi_start_phis (loop2->header);
287 /* The two loops LOOP1 and LOOP2 were just created by loop versioning,
304 falling through to LOOP2, or skipping it. This is done by splitting
330 connect_loops (class loop *loop1, class loop *loop2)
348 new_e = make_edge (skip_bb, loop_preheader_edge (loop2)->src, 0);
491 fix_loop_bb_probability (class loop *loop1, class loop *loop2, edge true_edge,
511 bbs2 = get_loop_body (loop2);
512 for (j = 0; j < loop2->num_nodes; j++)
513 if (bbs2[j] == loop2->latch
617 /* Now version the loop, placing loop2 after loop1 connecting
622 class loop *loop2 = loop_version (loop1, cond, &cond_bb,
628 gcc_assert (loop2);
630 edge new_e = connect_loops (loop1, loop2);
631 connect_loop_phis (loop1, loop2, new_e);
647 fix_loop_bb_probability (loop1, loop2, true_edge, false_edge);
1507 loop1 | | loop2
1512 loop2 is duplicated using loop_version (), which corresponds to the part
1516 other branch goes to loop2 pre-header as an entry edge. And also in loop2,
1536 struct loop *loop2 = loop_version (loop1, boolean_true_node, NULL,
1542 if (!loop2)
1551 /* Replace the condition in loop2 with a bool constant to let PassManager
1562 to transfer execution from loop1 to loop2, when loop1 enters into
1575 edge to_loop2 = make_edge (break_bb, loop_preheader_edge (loop2)->src, 0);
1581 /* Due to introduction of a control flow edge from loop1 latch to loop2
1582 pre-header, we should update PHIs in loop2 to reflect this connection
1583 between loop1 and loop2. */
1584 connect_loop_phis (loop1, loop2, to_loop2);
1591 fix_loop_bb_probability (loop1, loop2, skip_edge1, skip_edge2);