Lines Matching refs:loop

51 create_iv (tree base, tree step, tree var, struct loop *loop,  in create_iv()  argument
58 edge pe = loop_preheader_edge (loop); in create_iv()
118 stmt = create_phi_node (vb, loop->header); in create_iv()
120 add_phi_arg (stmt, initial, loop_preheader_edge (loop)); in create_iv()
121 add_phi_arg (stmt, va, loop_latch_edge (loop)); in create_iv()
131 struct loop *def_loop; in add_exit_phis_edge()
230 struct loop *def_loop; in find_uses_to_rename_use()
482 struct loop *loop_c; in bsi_insert_on_edge_immediate_loop()
505 ip_end_pos (struct loop *loop) in ip_end_pos() argument
507 return loop->latch; in ip_end_pos()
514 ip_normal_pos (struct loop *loop) in ip_normal_pos() argument
520 if (!single_pred_p (loop->latch)) in ip_normal_pos()
523 bb = single_pred (loop->latch); in ip_normal_pos()
529 if (exit->dest == loop->latch) in ip_normal_pos()
532 if (flow_bb_inside_loop_p (loop, exit->dest)) in ip_normal_pos()
544 standard_iv_increment_position (struct loop *loop, block_stmt_iterator *bsi, in standard_iv_increment_position() argument
547 basic_block bb = ip_normal_pos (loop), latch = ip_end_pos (loop); in standard_iv_increment_position()
592 tree_duplicate_loop_to_header_edge (struct loop *loop, edge e, in tree_duplicate_loop_to_header_edge() argument
610 if (!duplicate_loop_to_header_edge (loop, e, loops, ndupl, wont_exit, in tree_duplicate_loop_to_header_edge()
640 can_unroll_loop_p (struct loop *loop, unsigned factor, in can_unroll_loop_p() argument
651 exit = single_dom_exit (loop); in can_unroll_loop_p()
655 if (!number_of_iterations_exit (loop, exit, niter, false) in can_unroll_loop_p()
669 if (!can_duplicate_loop_p (loop)) in can_unroll_loop_p()
673 if (tree_num_loop_insns (loop) * factor in can_unroll_loop_p()
687 determine_exit_conditions (struct loop *loop, struct tree_niter_desc *desc, in determine_exit_conditions() argument
763 bsi_insert_on_edge_immediate_loop (loop_preheader_edge (loop), stmts); in determine_exit_conditions()
771 bsi_insert_on_edge_immediate_loop (loop_preheader_edge (loop), stmts); in determine_exit_conditions()
777 bsi_insert_on_edge_immediate_loop (loop_preheader_edge (loop), stmts); in determine_exit_conditions()
780 bsi_insert_on_edge_immediate_loop (loop_preheader_edge (loop), stmts); in determine_exit_conditions()
840 tree_unroll_loop (struct loops *loops, struct loop *loop, unsigned factor, in tree_unroll_loop() argument
847 struct loop *new_loop; in tree_unroll_loop()
855 unsigned irr = loop_preheader_edge (loop)->flags & EDGE_IRREDUCIBLE_LOOP; in tree_unroll_loop()
858 est_niter = expected_loop_iterations (loop); in tree_unroll_loop()
859 determine_exit_conditions (loop, desc, factor, in tree_unroll_loop()
863 new_loop = loop_version (loops, loop, enter_main_cond, NULL, true); in tree_unroll_loop()
886 (loop, loop_latch_edge (loop), loops, factor - 1, in tree_unroll_loop()
895 loop_split_edge_with (loop_latch_edge (loop), NULL); in tree_unroll_loop()
896 exit_bb = single_pred (loop->latch); in tree_unroll_loop()
899 new_exit->count = loop_preheader_edge (loop)->count; in tree_unroll_loop()
903 new_nonexit = single_pred_edge (loop->latch); in tree_unroll_loop()
907 old_entry = loop_preheader_edge (loop); in tree_unroll_loop()
909 old_latch = loop_latch_edge (loop); in tree_unroll_loop()
910 for (phi_old_loop = phi_nodes (loop->header), in tree_unroll_loop()
946 create_iv (exit_base, exit_step, NULL_TREE, loop, in tree_unroll_loop()
950 tree_block_label (loop->latch), in tree_unroll_loop()