Lines Matching defs:scalar_loop
1038 on E which is either the entry or exit of LOOP. If SCALAR_LOOP is
1039 non-NULL, assume LOOP and SCALAR_LOOP are equivalent and copy the
1040 basic blocks from SCALAR_LOOP instead of LOOP, but to either the
1045 class loop *scalar_loop, edge e)
1060 if (scalar_loop == NULL)
1061 scalar_loop = loop;
1063 bbs = XNEWVEC (basic_block, scalar_loop->num_nodes + 1);
1065 get_loop_body_with_size (scalar_loop, pbbs, scalar_loop->num_nodes);
1067 if (scalar_loop->inner)
1070 if (!can_copy_bbs_p (pbbs, scalar_loop->num_nodes))
1077 new_loop = duplicate_loop (scalar_loop, loop_outer (scalar_loop));
1078 duplicate_subloops (scalar_loop, new_loop);
1088 basic_block preheader = split_edge (loop_preheader_edge (scalar_loop));
1091 new_bbs = XNEWVEC (basic_block, scalar_loop->num_nodes + 1);
1093 exit = single_exit (scalar_loop);
1094 copy_bbs (bbs, scalar_loop->num_nodes + 1, new_bbs,
1115 class loop *new_inner_loop = get_loop_copy (scalar_loop->inner);
1116 if (loop_preheader_edge (scalar_loop)->dest_idx
1127 add_phi_args_after_copy (new_bbs, scalar_loop->num_nodes + 1, NULL);
1130 for (unsigned i = (at_exit ? 0 : 1); i < scalar_loop->num_nodes + 1; i++)
1133 if (scalar_loop != loop)
1135 /* If we copied from SCALAR_LOOP rather than LOOP, SSA_NAMEs from
1136 SCALAR_LOOP will have current_def set to SSA_NAMEs in the new_loop,
1140 slpeel_duplicate_current_defs_from_edges (single_exit (scalar_loop),
1142 slpeel_duplicate_current_defs_from_edges (EDGE_SUCC (scalar_loop->latch,
1149 if (scalar_loop != loop)
1176 set_immediate_dominator (CDI_DOMINATORS, scalar_loop->header,
1177 loop_preheader_edge (scalar_loop)->src);
1181 if (scalar_loop != loop)
1183 /* Remove the non-necessary forwarder of scalar_loop again. */
1187 set_immediate_dominator (CDI_DOMINATORS, scalar_loop->header,
1188 loop_preheader_edge (scalar_loop)->src);
1210 if (scalar_loop != loop)
1213 edge they are the ones from loop rather than scalar_loop. */
2826 class loop *scalar_loop = LOOP_VINFO_SCALAR_LOOP (loop_vinfo);
2843 prolog = slpeel_tree_duplicate_loop_to_edge_cfg (loop, scalar_loop, e);
2921 epilog = vect_epilogues ? get_loop_copy (loop) : scalar_loop;
2928 VOP_TO_RENAME that holds during SCALAR_LOOP, so we need to
3410 class loop *scalar_loop = LOOP_VINFO_SCALAR_LOOP (loop_vinfo);
3498 && (scalar_loop == NULL
3499 || (bb != scalar_loop->header
3501 scalar_loop->header, bb))));
3566 gcc_assert (scalar_loop);
3590 nloop = scalar_loop;
3653 If loop versioning wasn't done from loop, but scalar_loop instead,