#include "basic-block.h"#include "rtl.h"

Go to the source code of this file.
| #define DLTHE_FLAG_COMPLETTE_PEEL 4 |
Definition at line 248 of file cfgloop.h.
Referenced by duplicate_loop_to_header_edge(), peel_loop_completely(), and try_unroll_loop_completely().
| #define DLTHE_RECORD_COPY_NUMBER 2 |
Definition at line 246 of file cfgloop.h.
Referenced by duplicate_loop_to_header_edge(), peel_loop_completely(), peel_loop_simple(), unroll_loop_constant_iterations(), unroll_loop_runtime_iterations(), and unroll_loop_stupid().
| #define LOOPS_NORMAL |
Value:
Definition at line 141 of file cfgloop.h.
Referenced by execute_sink_code(), execute_vrp(), init_pre(), rtl_loop_init(), and tree_loop_optimizer_init().
| anonymous enum |
| anonymous enum |
| enum lpt_dec |
| void add_bb_to_loop | ( | basic_block | , | |
| struct loop * | ||||
| ) |
Definition at line 1025 of file cfgloop.c.
References loop::depth, i, basic_block_def::loop_depth, basic_block_def::loop_father, loop::num_nodes, and loop::pred.
Referenced by add_loop(), bsi_insert_on_edge_immediate_loop(), copy_bbs(), create_preheader(), fix_bb_placement(), loop_commit_inserts(), loop_split_edge_with(), loopify(), mfb_update_loops(), perfect_nestify(), slpeel_tree_peel_loop_to_edge(), slpeel_update_phi_nodes_for_guard1(), slpeel_update_phi_nodes_for_guard2(), split_loop_bb(), unloop(), and vect_transform_loop().
Definition at line 382 of file cfgloopanal.c.
References BB_END, BB_FREQ_MAX, BB_HEAD, free(), basic_block_def::frequency, get_loop_body(), loop::header, i, insn, INSN_P, NEXT_INSN, loop::ninsns, loop::num_nodes, and is::ratio.
Definition at line 1192 of file loop-iv.c.
References const0_rtx, df_find_def(), gcc_assert, iv_analyze_biv(), last_def, latch_dominating_def(), NULL, REG_P, REGNO, simple_reg_p(), and rtx_iv::step.
Definition at line 813 of file cfgloopmanip.c.
References can_copy_bbs_p(), free(), get_loop_body(), loop::num_nodes, and ret.
Definition at line 1273 of file cfgloop.c.
References cancel_loop(), cancel_loop_tree(), and loop::inner.
Referenced by cancel_loop_tree(), and remove_path().
Definition at line 1222 of file cfgloopmanip.c.
References create_preheader(), i, LOOPS_HAVE_PREHEADERS, loops::num, loops::parray, and loops::state.
Definition at line 715 of file cfgloopmanip.c.
References loop::copy, flow_loop_tree_node_add(), loop::level, place_new_loop(), xcalloc(), and XCNEW.
| bool duplicate_loop_to_header_edge | ( | struct loop * | , | |
| edge | , | |||
| struct loops * | , | |||
| unsigned | , | |||
| sbitmap | , | |||
| edge | , | |||
| edge * | , | |||
| unsigned * | , | |||
| int | ||||
| ) |
Definition at line 417 of file cfgloopanal.c.
References basic_block_def::count, EDGE_FREQUENCY, FOR_EACH_EDGE, loop::header, loop::latch, REG_BR_PROB_BASE, and edge::src.
Definition at line 1055 of file cfgloop.c.
References loop::depth, loop::outer, and loop::pred.
Referenced by add_exit_phis_edge(), analyze_scalar_evolution_1(), bsi_insert_on_edge_immediate_loop(), build_classic_dir_vector(), build_classic_dist_vector(), find_exits(), fix_bb_placements(), fix_loop_placement(), instantiate_parameters_1(), loop_commit_inserts(), loop_split_edge_with(), mark_irreducible_loops(), mark_loop_exit_edges(), outermost_invariant_loop(), and set_level().
| void find_simple_exit | ( | struct loop * | , | |
| struct niter_desc * | ||||
| ) |
Definition at line 2614 of file loop-iv.c.
References niter_desc::assumptions, check_simple_exit(), niter_desc::const_iter, edge::dest, dump_file, flow_bb_inside_loop_p(), FOR_EACH_EDGE, fprintf(), free(), get_loop_body(), HOST_WIDEST_INT_PRINT_DEC, i, niter_desc::infinite, niter_desc::niter, niter_desc::niter_expr, niter_desc::niter_max, niter_desc::noloop_assumptions, loop::num, loop::num_nodes, niter_desc::out_edge, print_rtl(), niter_desc::simple_p, and edge::src.
Definition at line 646 of file cfgloopmanip.c.
References edge::dest, find_common_loop(), flow_bb_inside_loop_p(), flow_loop_nested_p(), flow_loop_tree_node_add(), flow_loop_tree_node_remove(), FOR_EACH_EDGE, free(), get_loop_body(), i, loop::num_nodes, loop::outer, and loop::pred.
Definition at line 1401 of file cfgloopmanip.c.
References basic_block_def::aux, bitmap_set_bit(), loop::depth, flow_loop_free(), flow_loop_nodes_find(), flow_loop_tree_node_add(), flow_loop_tree_node_remove(), FOR_EACH_BB, loop::header, i, basic_block_def::index, loop::inner, basic_block_def::loop_father, loop_preheader_edge(), LOOPS_HAVE_MARKED_IRREDUCIBLE_REGIONS, LOOPS_HAVE_MARKED_SINGLE_EXITS, mark_irreducible_loops(), mark_single_exit_loops(), n_basic_blocks, loop::next, NULL, loop::num, loops::num, loop::num_nodes, loop::outer, loops::parray, edge::src, loops::state, and loops::tree_root.
Referenced by cleanup_tree_cfg_loop().
Definition at line 987 of file cfgloop.c.
References ENTRY_BLOCK_PTR, EXIT_BLOCK_PTR, flow_loop_nested_p(), and basic_block_def::loop_father.
| void flow_loop_dump | ( | const struct loop * | , | |
| FILE * | , | |||
| void(*)(const struct loop *, FILE *, int) | , | |||
| int | ||||
| ) |
Definition at line 125 of file cfgloop.c.
References loop::depth, loop::entry_edges, loop::exit_edges, flow_edge_list_print(), fprintf(), free(), get_loop_body(), loop::header, i, index(), basic_block_def::index, loop::invalid, loop::latch, loop::level, loop_dump_aux(), loop::num, loop::num_entries, loop::num_exits, loop::num_nodes, loop::num_pre_header_edges, loop::outer, loop::pre_header, and loop::pre_header_edges.
Definition at line 195 of file cfgloop.c.
References loop::entry_edges, loop::exit_edges, free(), loop::pre_header_edges, and loop::pred.
| int flow_loop_nodes_find | ( | basic_block | , | |
| struct loop * | ||||
| ) |
Definition at line 224 of file cfgloop.c.
References loop::depth, ENTRY_BLOCK_PTR, FOR_EACH_EDGE, free(), loop::latch, basic_block_def::loop_depth, basic_block_def::loop_father, n_basic_blocks, node, loop::num_nodes, sp, edge::src, stack, and XNEWVEC.
Definition at line 452 of file cfgloop.c.
References loop::depth, establish_preds(), loop::inner, memcpy, loop::next, loop::outer, loop::pred, and xmalloc().
Referenced by duplicate_loop(), fix_loop_placement(), fix_loop_structure(), flow_loops_find(), loopify(), and unloop().
Definition at line 469 of file cfgloop.c.
References loop::depth, free(), loop::inner, loop::next, NULL, loop::outer, loop::pred, and prev.
Referenced by cancel_loop(), fix_loop_placement(), fix_loop_structure(), and unloop().
| void flow_loops_dump | ( | const struct loops * | , | |
| FILE * | , | |||
| void(*)(const struct loop *, FILE *, int) | , | |||
| int | ||||
| ) |
Definition at line 168 of file cfgloop.c.
References flow_loop_dump(), flow_loops_cfg_dump(), fprintf(), i, loop_dump_aux(), loops::num, and loops::parray.
Definition at line 593 of file cfgloop.c.
References b, BASIC_BLOCK, calculate_dominance_info(), canonicalize_loop_headers(), CDI_DOMINATORS, loops::cfg, cfun, loop::depth, loops::cfg::dfs_order, dominated_by_p(), EDGE_ABNORMAL, ENTRY_BLOCK_PTR, EXIT_BLOCK_PTR, edge::flags, flow_loop_nodes_find(), flow_loop_tree_node_add(), flow_loops_level_compute(), FOR_EACH_BB, FOR_EACH_EDGE, gcc_assert, loop::header, basic_block_def::index, initialize_loops_parallel_p(), loop::inner, last_basic_block, loop::latch, basic_block_def::loop_depth, basic_block_def::loop_father, memset, n_basic_blocks, loop::next, NULL, loop::num, loops::num, NUM_FIXED_BLOCKS, loop::num_nodes, loop::outer, loops::parray, pre_and_rev_post_order_compute(), loop::pred, loops::cfg::rc_order, sbitmap_alloc(), sbitmap_free, sbitmap_zero(), SET_BIT, edge::src, loops::state, TEST_BIT, loops::tree_root, verify_flow_info(), verify_loop_structure(), XCNEW, XCNEWVEC, and XNEWVEC.
Definition at line 202 of file cfgloop.c.
References abort, loops::cfg, loops::cfg::dfs_order, flow_loop_free(), free(), free_dominance_info(), gcc_assert, i, NULL, loops::num, loops::parray, and loops::cfg::rc_order.
Referenced by create_loop_notes(), flow_loops_update(), if_convert(), loop_optimizer_finalize(), loop_optimizer_init(), mark_loop_exit_edges(), rest_of_compilation(), rest_of_handle_branch_prob(), tree_estimate_probability(), and tree_ssa_dominator_optimize().
Definition at line 1233 of file cfgloopmanip.c.
References EDGE_COUNT, find_edge(), loop::header, i, loop::latch, loop_split_edge_with(), LOOPS_HAVE_SIMPLE_LATCHES, NULL_RTX, loops::num, loops::parray, single_succ_p(), and loops::state.
Definition at line 1208 of file loop-iv.c.
References abort, rtx_iv::base, const0_rtx, rtx_iv::delta, rtx_iv::extend, rtx_iv::extend_mode, rtx_iv::first_special, gcc_assert, lowpart_subreg(), rtx_iv::mode, rtx_iv::mult, PLUS, simplify_gen_binary(), simplify_gen_unary(), rtx_iv::step, UNKNOWN, and val.
| basic_block* get_loop_body | ( | const struct loop * | ) |
Definition at line 1018 of file cfgloop.c.
References dfs_enumerate_from(), EXIT_BLOCK_PTR, FOR_EACH_BB, gcc_assert, glb_enum_p(), loop::header, loop::latch, n_basic_blocks, loop::num_nodes, xcalloc(), and XCNEWVEC.
| basic_block* get_loop_body_in_bfs_order | ( | const struct loop * | ) |
Definition at line 1103 of file cfgloop.c.
References BITMAP_ALLOC, bitmap_bit_p(), BITMAP_FREE, bitmap_set_bit(), blocks, edge::dest, EXIT_BLOCK_PTR, flow_bb_inside_loop_p(), FOR_EACH_EDGE, gcc_assert, loop::header, i, basic_block_def::index, loop::latch, NULL, loop::num_nodes, visited, xcalloc(), and XCNEWVEC.
Referenced by get_loop_body_in_if_conv_order().
| basic_block* get_loop_body_in_dom_order | ( | const struct loop * | ) |
Definition at line 1081 of file cfgloop.c.
References EXIT_BLOCK_PTR, fill_sons_in_loop(), gcc_assert, loop::header, loop::latch, loop::num_nodes, xcalloc(), and XCNEWVEC.
Referenced by duplicate_loop_to_header_edge(), fill_always_executed_in(), find_givs(), find_invariants(), gather_memory_references(), iv_analysis_loop_init(), loop_version(), perfect_nestify(), and remove_empty_loop().
Definition at line 466 of file cfgloopanal.c.
References get_loop_level(), loop::inner, and loop::next.
| struct niter_desc* get_simple_loop_desc | ( | struct loop * | loop | ) | [read] |
Definition at line 2702 of file loop-iv.c.
References niter_desc::assumptions, loop::aux, find_simple_exit(), gettext, niter_desc::infinite, iv_analysis_loop_init(), N_, NULL_RTX, simple_loop_desc(), niter_desc::simple_p, warning, xmalloc(), and XNEW.
| unsigned global_cost_for_size | ( | unsigned | , | |
| unsigned | , | |||
| unsigned | ||||
| ) |
Definition at line 550 of file cfgloopanal.c.
Definition at line 512 of file cfgloopanal.c.
References addr(), emit_move_insn(), end_sequence(), FIRST_PSEUDO_REGISTER, fixed_regs, gen_raw_REG(), gen_rtx_MEM(), GENERAL_REGS, get_insns(), i, mem, Pmode, reg_class_contents, seq_cost(), start_sequence(), TEST_HARD_REG_BIT, and validize_mem().
Definition at line 1243 of file loop-iv.c.
References bivs, clear_iv_info(), df_finish, free(), htab_delete(), last_def, max_insn_no, max_reg_no, and NULL.
Definition at line 322 of file loop-iv.c.
References assign_luids(), b, BITMAP_ALLOC, BITMAP_FREE, bitmap_set_bit(), biv_eq(), biv_hash(), bivs, blocks, clear_iv_info(), df_analyze(), df_chain_add_problem(), DF_EQUIV_NOTES, DF_HARD_REGS, df_init(), df_set_blocks(), DF_UD_CHAIN, first_time, free(), get_loop_body_in_dom_order(), get_max_uid(), htab_create(), i, just_once_each_iteration_p(), last_def, mark_sets(), max_insn_no, max_reg_no, max_reg_num(), memset, NULL, loop::num_nodes, and xmalloc().
Definition at line 998 of file loop-iv.c.
References abort, rtx_iv::analysed, rtx_iv::base, const0_rtx, CONSTANT_P, df_find_use(), dump_file, dump_iv_info(), end, rtx_iv::extend_mode, find_reg_equal_equiv_note(), fprintf(), GET_CODE, GET_MODE, INSN_UID, insn_info::iv, iv_add(), iv_analyze(), iv_analyze_biv(), iv_analyze_op(), iv_extend(), iv_mult(), iv_neg(), iv_shift(), iv_subreg(), MINUS, rtx_iv::mode, NEXT_INSN, NULL_RTX, PLUS, print_rtl(), print_rtl_single(), REG, SET_SRC, SIGN_EXTEND, simple_reg_p(), single_set, rtx_iv::step, subreg_lowpart_p(), SUBREG_REG, tmp, and XEXP.
Definition at line 900 of file loop-iv.c.
References rtx_iv::base, CONSTANT_P, rtx_iv::extend_mode, gcc_assert, GET_CODE, GET_MODE, iv_add(), iv_analyze_expr(), iv_analyze_op(), iv_extend(), iv_mult(), iv_neg(), iv_shift(), MINUS, rtx_iv::mode, NULL_RTX, PLUS, REG, REG_P, SIGN_EXTEND, rtx_iv::step, tmp, and XEXP.
Referenced by iv_analyze_def(), and iv_analyze_expr().
Definition at line 1159 of file loop-iv.c.
References df_find_def(), and iv_analyze_def().
Referenced by analyze_iv_to_split_insn().
| bool just_once_each_iteration_p | ( | const struct loop * | , | |
| basic_block | ||||
| ) |
Definition at line 36 of file cfgloopanal.c.
References BB_IRREDUCIBLE_LOOP, CDI_DOMINATORS, dominated_by_p(), basic_block_def::flags, loop::latch, and basic_block_def::loop_father.
Definition at line 1297 of file cfgloop.c.
References edge::dest, flow_bb_inside_loop_p(), and edge::src.
Referenced by bb_with_exit_edge_p(), combine_blocks(), if_convertible_loop_p(), and mark_loop_exit_edges().
Definition at line 108 of file loop-init.c.
References flow_loops_free(), free(), free_simple_loop_desc(), i, loops::num, loops::parray, and verify_flow_info().
Definition at line 41 of file loop-init.c.
References CDI_DOMINATORS, loops::cfg, CP_SIMPLE_PREHEADERS, create_preheaders(), loops::cfg::dfs_order, dump_file, EDGE_FALLTHRU, ei_next(), ei_safe_edge(), ei_start, EXIT_BLOCK_PTR, first_time, edge::flags, flow_loops_dump(), flow_loops_find(), flow_loops_free(), force_single_succ_latches(), free(), init_set_costs(), LOOPS_HAVE_MARKED_IRREDUCIBLE_REGIONS, LOOPS_HAVE_MARKED_SINGLE_EXITS, LOOPS_HAVE_PREHEADERS, LOOPS_HAVE_SIMPLE_LATCHES, mark_irreducible_loops(), mark_single_exit_loops(), NULL, loops::cfg::rc_order, single_succ_p(), split_edge(), edge::src, verify_dominators(), verify_loop_structure(), and XCNEW.
Definition at line 1515 of file cfgloop.c.
References FOR_EACH_EDGE, loop::header, loop::latch, and edge::src.
| basic_block loop_split_edge_with | ( | edge | , | |
| rtx | ||||
| ) |
Definition at line 1257 of file cfgloopmanip.c.
References add_bb_to_loop(), BB_END, BB_SUPERBLOCK, dest, edge::dest, emit_insn_after(), find_common_loop(), basic_block_def::flags, loop::latch, basic_block_def::loop_father, split_edge(), src, and edge::src.
Definition at line 1294 of file cfgloopmanip.c.
References after, BB_IRREDUCIBLE_LOOP, cfg_hook_duplicate_loop_to_header_edge(), edge::dest, EDGE_IRREDUCIBLE_LOOP, exit(), extract_cond_bb_edges(), find_edge(), edge::flags, basic_block_def::flags, free(), get_bb_copy(), get_loop_body_in_dom_order(), loop::header, i, loop::inner, loop::latch, loop_preheader_edge(), loop_split_edge_with(), loopify(), lv_adjust_loop_entry_edge(), lv_flush_pending_stmts(), move_block_after(), NULL, loop::num_nodes, loop::single_exit, single_pred_edge(), single_succ_edge(), and edge::src.
Referenced by tree_unroll_loop(), tree_unswitch_loop(), and vect_transform_loop().
Definition at line 492 of file cfgloopmanip.c.
References add_bb_to_loop(), add_loop(), CDI_DOMINATORS, basic_block_def::count, edge::dest, EDGE_FREQUENCY, EDGE_SUCC, first_dom_son(), flow_loop_tree_node_add(), FOR_EACH_EDGE, free(), basic_block_def::frequency, get_loop_body(), loop::header, i, index(), basic_block_def::index, iterate_fix_dominators(), last_basic_block, loop::latch, basic_block_def::loop_father, loop_redirect_edge(), n_basic_blocks, next_dom_son(), loop::num_nodes, loop::outer, REG_BR_PROB_BASE, sbitmap_alloc(), sbitmap_zero(), scale_loop_frequencies(), seen, SET_BIT, set_immediate_dominator(), edge::src, TEST_BIT, xcalloc(), XCNEW, and XCNEWVEC.
Definition at line 267 of file cfgloopanal.c.
References add_edge(), BB_IRREDUCIBLE_LOOP, BB_REPR, check_irred(), loop::depth, dest, edge::dest, dfs(), EDGE_IRREDUCIBLE_LOOP, ENTRY_BLOCK_PTR, EXIT_BLOCK_PTR, find_common_loop(), edge::flags, basic_block_def::flags, flow_bb_inside_loop_p(), FOR_BB_BETWEEN, FOR_EACH_EDGE, for_each_edge(), free(), free_graph(), i, int, last_basic_block, basic_block_def::loop_father, LOOP_REPR, LOOPS_HAVE_MARKED_IRREDUCIBLE_REGIONS, new_graph(), NULL, loops::num, loops::parray, loop::pred, src, loops::state, xmalloc(), and XNEWVEC.
Definition at line 573 of file cfgloopanal.c.
References EDGE_LOOP_EXIT, edge::flags, FOR_EACH_BB, FOR_EACH_EDGE, loop_exit_edge_p(), basic_block_def::loop_father, loops::num, and loop::outer.
Definition at line 383 of file cfgloop.c.
References edge::dest, EDGE_SUCC, ENTRY_BLOCK_PTR, EXIT_BLOCK_PTR, flow_bb_inside_loop_p(), FOR_EACH_BB, FOR_EACH_EDGE, i, basic_block_def::loop_father, LOOPS_HAVE_MARKED_SINGLE_EXITS, NULL, loops::num, loop::outer, loops::parray, loop::single_exit, single_succ_edge(), loops::state, and loops::tree_root.
Referenced by fix_loop_structure(), loop_optimizer_init(), and tree_ssa_loop_init().
Definition at line 900 of file loop-invariant.c.
References df_chain_add_problem(), DF_EQUIV_NOTES, df_finish, DF_HARD_REGS, df_init(), DF_UD_CHAIN, free_loop_data(), i, loop::inner, move_single_loop_invariants(), loop::next, NULL, loops::num, loop::outer, loops::parray, loops::tree_root, and verify_flow_info().
Definition at line 1183 of file cfgloop.c.
References EDGE_COUNT, EXIT_BLOCK_PTR, free(), gcc_assert, get_loop_body(), i, loop::latch, n, and loop::num_nodes.
Referenced by decide_peel_simple(), and decide_unroll_stupid().
Definition at line 360 of file cfgloopanal.c.
References BB_END, BB_HEAD, free(), get_loop_body(), i, insn, INSN_P, NEXT_INSN, loop::ninsns, and loop::num_nodes.
Definition at line 1114 of file tree-ssa-loop-niter.c.
References nb_iter_bound::additional, nb_iter_bound::at_stmt, nb_iter_bound::bound, loop::bounds, derive_constant_upper_bound(), double_int_to_tree(), dump_file, dump_flags, fprintf(), nb_iter_bound::next, loop::num, print_generic_expr(), TDF_DETAILS, TDF_SLIM, TREE_TYPE, unsigned_type_for(), and xmalloc().
| void remove_bb_from_loops | ( | basic_block | ) |
Definition at line 1040 of file cfgloop.c.
References loop::depth, i, basic_block_def::loop_depth, basic_block_def::loop_father, NULL, loop::num_nodes, and loop::pred.
Referenced by combine_blocks(), fix_bb_placement(), remove_bbs(), and unloop().
Definition at line 319 of file cfgloopmanip.c.
References cancel_loop_tree(), CDI_DOMINATORS, edge::dest, dominated_by_p(), EDGE_COUNT, EDGE_IRREDUCIBLE_LOOP, EDGE_PRED, EXIT_BLOCK_PTR, find_path(), first_dom_son(), fix_bb_placements(), fix_irreducible_loops(), fix_loop_placements(), edge::flags, FOR_EACH_EDGE, free(), gcc_assert, get_immediate_dominator(), i, index(), basic_block_def::index, iterate_fix_dominators(), last_basic_block, loop_delete_branch_edge(), basic_block_def::loop_father, loop_split_edge_with(), LOOPS_HAVE_MARKED_IRREDUCIBLE_REGIONS, mark_irreducible_loops(), n_basic_blocks, next_dom_son(), NULL_RTX, remove_bbs(), sbitmap_alloc(), sbitmap_zero(), seen, SET_BIT, single_pred_edge(), single_pred_p(), edge::src, loops::state, TEST_BIT, unloop(), xcalloc(), and XCNEWVEC.
| static struct niter_desc* simple_loop_desc | ( | struct loop * | loop | ) | [static, read] |
Definition at line 111 of file cfgloop.c.
References loop::depth, gcc_assert, and loop::pred.
Referenced by compute_scalar_evolution_in_loop(), determine_max_movement(), interpret_loop_phi(), outermost_invariant_loop(), outermost_invariant_loop_expr(), and scev_const_prop().
Definition at line 106 of file tree-ssa-loop-ivcanon.c.
References bsi_end_p(), bsi_next(), bsi_start(), bsi_stmt(), estimate_num_insns(), free(), get_loop_body(), i, loop::num_nodes, and size.
Definition at line 146 of file loop-unroll.c.
References CDI_DOMINATORS, check, decide_unrolling_and_peeling(), lpt_decision::decision, gcc_unreachable, loop::inner, iv_analysis_done(), loop::lpt_decision, LPT_NONE, LPT_PEEL_COMPLETELY, LPT_PEEL_SIMPLE, LPT_UNROLL_CONSTANT, LPT_UNROLL_RUNTIME, LPT_UNROLL_STUPID, loop::next, next, loop::outer, peel_loop_simple(), peel_loops_completely(), loops::tree_root, unroll_loop_constant_iterations(), unroll_loop_runtime_iterations(), unroll_loop_stupid(), verify_dominators(), and verify_loop_structure().
Definition at line 143 of file loop-unswitch.c.
References CDI_DOMINATORS, i, loop::inner, iv_analysis_done(), NULL_RTX, loop::num, loops::num, loops::parray, unswitch_single_loop(), verify_dominators(), and verify_loop_structure().
Definition at line 1288 of file cfgloop.c.
References BB_IRREDUCIBLE_LOOP, edge::dest, EDGE_ALL_FLAGS, EDGE_COUNT, EDGE_IRREDUCIBLE_LOOP, EDGE_SUCC, err, error(), EXIT_BLOCK_PTR, edge::flags, basic_block_def::flags, flags, flow_bb_inside_loop_p(), FOR_EACH_BB, FOR_EACH_EDGE, free(), gcc_assert, get_loop_body(), loop::header, i, index(), basic_block_def::index, last_basic_block, loop::latch, basic_block_def::loop_father, loop_latch_edge(), LOOPS_HAVE_MARKED_IRREDUCIBLE_REGIONS, LOOPS_HAVE_MARKED_SINGLE_EXITS, LOOPS_HAVE_PREHEADERS, LOOPS_HAVE_SIMPLE_LATCHES, mark_irreducible_loops(), memset, loop::num, loops::num, loop::num_nodes, loop::outer, loops::parray, RESET_BIT, sbitmap_alloc(), SET_BIT, loop::single_exit, single_succ(), single_succ_p(), edge::src, loops::state, TEST_BIT, loops::tree_root, xcalloc(), and XCNEWVEC.
Definition at line 43 of file tree-ssa-loop.c.
| unsigned target_avail_regs |
Definition at line 502 of file cfgloopanal.c.
| unsigned target_pres_cost |
Definition at line 505 of file cfgloopanal.c.
| unsigned target_res_regs |
Definition at line 503 of file cfgloopanal.c.
| unsigned target_small_cost |
Definition at line 504 of file cfgloopanal.c.
| unsigned target_spill_cost |
Definition at line 507 of file cfgloopanal.c.
1.5.6