#include "bitmap.h"#include "hard-reg-set.h"#include "basic-block.h"#include "hashtab.h"#include "tree-gimple.h"#include "tree-ssa-operands.h"#include "cgraph.h"#include "ipa-reference.h"#include "tree-flow-inline.h"

Go to the source code of this file.
| #define _TREE_FLOW_H 1 |
Definition at line 23 of file tree-flow.h.
| #define BREAK_FROM_IMM_USE_STMT | ( | ITER | ) |
Value:
{ \
end_imm_use_stmt_traverse (&(ITER)); \
break; \
}
Definition at line 258 of file tree-flow.h.
| #define FOR_EACH_HTAB_ELEMENT | ( | HTAB, | |||
| RESULT, | |||||
| TYPE, | |||||
| ITER | ) |
Value:
for (RESULT = (TYPE) first_htab_element (&(ITER), (HTAB)); \ !end_htab_p (&(ITER)); \ RESULT = (TYPE) next_htab_element (&(ITER)))
Definition at line 54 of file tree-flow.h.
Referenced by collect_pattern_seqs().
| #define FOR_EACH_IMM_USE_FAST | ( | DEST, | |||
| ITER, | |||||
| SSAVAR | ) |
Value:
for ((DEST) = first_readonly_imm_use (&(ITER), (SSAVAR)); \ !end_readonly_imm_use_p (&(ITER)); \ (DEST) = next_readonly_imm_use (&(ITER)))
Definition at line 243 of file tree-flow.h.
Referenced by add_ssa_edge(), all_immediate_uses_same_place(), can_convert_to_perfect_nest(), can_put_after_inner_loop(), can_put_in_inner_loop(), dump_immediate_uses_for(), execute_cse_reciprocals_1(), if_convertible_phi_p(), lhs_of_dominating_assert(), nearest_common_dominator_of_uses(), pointer_used_p(), prepare_use_sites_for(), statement_sink_location(), stmt_is_bumper_for_loop(), vect_create_epilog_for_reduction(), and vect_stmt_relevant_p().
| #define FOR_EACH_IMM_USE_ON_STMT | ( | DEST, | |||
| ITER | ) |
Value:
for ((DEST) = first_imm_use_on_stmt (&(ITER)); \ !end_imm_use_on_stmt_p (&(ITER)); \ (DEST) = next_imm_use_on_stmt (&(ITER)))
Definition at line 278 of file tree-flow.h.
Referenced by execute_cse_reciprocals_1(), lambda_loopnest_to_gcc_loopnest(), propagate_rhs_into_lhs(), remove_range_assertions(), replace_uses_by(), and vect_create_epilog_for_reduction().
| #define FOR_EACH_IMM_USE_STMT | ( | STMT, | |||
| ITER, | |||||
| SSAVAR | ) |
Value:
for ((STMT) = first_imm_use_stmt (&(ITER), (SSAVAR)); \ !end_imm_use_stmt_p (&(ITER)); \ (STMT) = next_imm_use_stmt (&(ITER)))
Definition at line 250 of file tree-flow.h.
Referenced by execute_cse_reciprocals_1(), forward_propagate_addr_expr(), lambda_loopnest_to_gcc_loopnest(), propagate_rhs_into_lhs(), remove_range_assertions(), replace_uses_by(), and vect_create_epilog_for_reduction().
| #define FOR_EACH_REFERENCED_VAR | ( | VAR, | |||
| ITER | ) |
Value:
for ((VAR) = first_referenced_var (&(ITER)); \ !end_referenced_vars_p (&(ITER)); \ (VAR) = next_referenced_var (&(ITER)))
Definition at line 397 of file tree-flow.h.
Referenced by add_virtual_phis(), compute_tag_properties(), delete_alias_info(), delete_tree_ssa(), dump_alias_info(), dump_points_to_info(), dump_referenced_vars(), fill_referenced_var_vec(), find_candidates_for_sra(), init_alias_info(), init_transitive_clobber_worklist(), insert_phi_nodes(), mark_def_site_blocks(), recalculate_used_alone(), reset_cc_flags(), set_initial_properties(), setup_pointers_and_addressables(), suitable_for_tail_opt_p(), verify_call_clobbering(), and verify_flow_insensitive_alias_info().
| #define FOR_EACH_REFERENCED_VAR_SAFE | ( | VAR, | |||
| VEC, | |||||
| ITER | ) |
Value:
for ((ITER).i = 0, fill_referenced_var_vec (&(VEC)); \ VEC_iterate (tree, (VEC), (ITER).i, (VAR)); \ (ITER).i++)
Definition at line 416 of file tree-flow.h.
Referenced by create_structure_vars(), and setup_pointers_and_addressables().
Definition at line 463 of file tree-flow.h.
| #define label_to_block | ( | t | ) | (label_to_block_fn (cfun, t)) |
Definition at line 591 of file tree-flow.h.
Referenced by associate_equivalences_with_edges(), find_taken_edge_computed_goto(), find_taken_edge_switch_expr(), get_cases_for_edge(), main_block_label(), make_cond_expr_edges(), make_eh_edge(), make_goto_expr_edges(), make_switch_expr_edges(), mark_eh_edge(), record_edge_info(), tree_redirect_edge_and_branch(), tree_verify_flow_info(), update_eh_label(), and VEC().
| #define MAX_AFF_ELTS 8 |
Definition at line 970 of file tree-flow.h.
Referenced by aff_combination_add_elt(), aff_combination_scale(), and aff_combination_to_tree().
| #define num_referenced_vars htab_elements (referenced_vars) |
Definition at line 429 of file tree-flow.h.
Definition at line 435 of file tree-flow.h.
| #define PENDING_STMT | ( | e | ) | ((e)->insns.t) |
Definition at line 563 of file tree-flow.h.
| #define PERCENT | ( | x, | |||
| y | ) | ((float)(x) * 100.0 / (float)(y)) |
Definition at line 465 of file tree-flow.h.
Definition at line 430 of file tree-flow.h.
| #define SCALE | ( | x | ) |
Definition at line 436 of file tree-flow.h.
| typedef struct fieldoff fieldoff_s |
Definition at line 1019 of file tree-flow.h.
| typedef struct function_ann_d* function_ann_t |
Definition at line 333 of file tree-flow.h.
| typedef struct stmt_ann_d* stmt_ann_t |
Definition at line 334 of file tree-flow.h.
Definition at line 144 of file tree-flow.h.
| typedef struct tree_ann_common_d* tree_ann_common_t |
Definition at line 335 of file tree-flow.h.
| typedef union tree_ann_d* tree_ann_t |
Definition at line 331 of file tree-flow.h.
Definition at line 332 of file tree-flow.h.
| typedef bool(* walk_use_def_chains_fn)(tree, tree, void *) |
Definition at line 695 of file tree-flow.h.
| enum bsi_iterator_update |
| BSI_NEW_STMT | |
| BSI_SAME_STMT | |
| BSI_CHAIN_START | |
| BSI_CHAIN_END | |
| BSI_CONTINUE_LINKING | |
| BSI_NEW_STMT | |
| BSI_SAME_STMT | |
| BSI_CHAIN_START | |
| BSI_CHAIN_END | |
| BSI_CONTINUE_LINKING |
Definition at line 491 of file tree-flow.h.
| enum escape_type |
| NO_ESCAPE | |
| ESCAPE_STORED_IN_GLOBAL | |
| ESCAPE_TO_ASM | |
| ESCAPE_TO_CALL | |
| ESCAPE_BAD_CAST | |
| ESCAPE_TO_RETURN | |
| ESCAPE_TO_PURE_CONST | |
| ESCAPE_IS_GLOBAL | |
| ESCAPE_IS_PARM | |
| ESCAPE_UNKNOWN |
Definition at line 879 of file tree-flow.h.
| enum ev_direction |
Definition at line 828 of file tree-flow.h.
| enum move_pos |
| MOVE_IMPOSSIBLE | |
| MOVE_PRESERVE_EXECUTION | |
| MOVE_POSSIBLE | |
| MOVE_IMPOSSIBLE | |
| MOVE_PRESERVE_EXECUTION | |
| MOVE_POSSIBLE |
Definition at line 869 of file tree-flow.h.
| enum need_phi_state |
| NEED_PHI_STATE_UNKNOWN | |
| NEED_PHI_STATE_NO | |
| NEED_PHI_STATE_MAYBE | |
| NEED_PHI_STATE_UNKNOWN | |
| NEED_PHI_STATE_NO | |
| NEED_PHI_STATE_MAYBE |
Definition at line 123 of file tree-flow.h.
| enum tree_ann_type |
Definition at line 104 of file tree-flow.h.
Definition at line 337 of file tree-phinodes.c.
References bb_for_stmt(), edge::dest, EDGE_ABNORMAL, edge::flags, gcc_assert, PHI_ARG_CAPACITY, PHI_ARG_NONZERO, PHI_NUM_ARGS, PHI_RESULT, SET_PHI_ARG_DEF, and SSA_NAME_OCCURS_IN_ABNORMAL_PHI.
| void add_phi_args_after_copy | ( | basic_block * | , | |
| unsigned | ||||
| ) |
Definition at line 4794 of file tree-cfg.c.
References add_phi_args_after_copy_bb(), BB_DUPLICATED, flags, for(), and i.
Referenced by tree_duplicate_sese_region().
| void add_phi_args_after_copy_bb | ( | basic_block | ) |
Definition at line 4743 of file tree-cfg.c.
References add_phi_arg(), BB_DUPLICATED, dest, edge::dest, find_edge(), FOR_EACH_EDGE, gcc_assert, get_bb_original(), NULL, PHI_ARG_DEF_FROM_EDGE, PHI_CHAIN, phi_nodes(), and PHI_RESULT.
Referenced by add_phi_args_after_copy(), and copy_phi_node_args().
Definition at line 704 of file tree-dfa.c.
References DECL_EXTERNAL, DECL_INITIAL, DECL_P, find_vars_r(), gcc_assert, get_var_ann(), MTAG_P, NULL, referenced_var_check_and_insert(), TREE_CONSTANT, TREE_READONLY, and walk_tree().
Definition at line 119 of file tree-eh.c.
References add_stmt_to_eh_region_fn(), cfun, gcc_assert, ggc_alloc, htab_find_slot(), INSERT, and n.
Referenced by bsi_replace(), copy_bb(), maybe_clean_or_replace_eh_stmt(), record_stmt_eh_region(), and tree_duplicate_bb().
Definition at line 416 of file tree-ssa-pre.c.
References insert_into_set(), is_gimple_min_invariant(), NULL, set_new(), and VALUE_HANDLE_EXPR_SET.
| rtx addr_for_mem_ref | ( | struct mem_address * | , | |
| bool | ||||
| ) |
Definition at line 174 of file tree-ssa-address.c.
References address, mem_address::base, build_addr(), const0_rtx, current_function_decl, expand_expr(), EXPAND_NORMAL, gen_raw_REG(), gen_rtx_SYMBOL_REF, ggc_strdup, i, idx, immed_double_const(), mem_address::index, integer_onep(), integer_zerop(), LAST_VIRTUAL_REGISTER, NULL, NULL_RTX, mem_address::offset, Pmode, mem_address::step, sym, mem_address::symbol, templ, TEMPL_IDX, TREE_INT_CST_HIGH, and TREE_INT_CST_LOW.
Referenced by expand_expr_real_1(), and valid_mem_ref_p().
| static enum tree_ann_type ann_type | ( | tree_ann_t | ) | [inline, static] |
| static basic_block bb_for_stmt | ( | tree | ) | [inline, static] |
Definition at line 320 of file gimple-low.c.
References BIND_EXPR_BODY, block_may_fallthru(), call_expr_flags(), COND_EXPR_ELSE, COND_EXPR_THEN, ECF_NORETURN, expr_last(), NULL_TREE, SWITCH_LABELS, TREE_CODE, TREE_OPERAND, and try_catch_may_fallthru().
Referenced by block_may_fallthru(), c_finish_bc_stmt(), convert_nl_goto_receiver(), expand_call_inline(), frob_into_branch_around(), honor_protect_cleanup_actions(), lower_catch(), lower_cleanup(), lower_cond_expr(), lower_function_body(), lower_try_finally(), shortcut_cond_expr(), and try_catch_may_fallthru().
| static block_stmt_iterator bsi_after_labels | ( | basic_block | ) | [inline, static] |
Definition at line 3139 of file tree-cfg.c.
References bsi_commit_one_edge_insert(), EDGE_SUCC, ENTRY_BLOCK_PTR, FOR_EACH_BB, FOR_EACH_EDGE, NULL, and single_succ_edge().
Referenced by branch_prob(), execute_pre(), lambda_loopnest_to_gcc_loopnest(), loop_commit_inserts(), mf_decl_cache_locals(), process_assert_insertions(), scalarize_function(), tree_flow_call_edges_add(), and tree_lower_complex().
| void bsi_commit_one_edge_insert | ( | edge | , | |
| basic_block * | ||||
| ) |
Definition at line 3157 of file tree-cfg.c.
References bsi_insert_after(), bsi_insert_before(), BSI_NEW_STMT, NULL, NULL_TREE, PENDING_STMT, and tree_find_edge_insert_loc().
Referenced by analyze_edges_for_bb(), and bsi_commit_edge_inserts().
| static bool bsi_end_p | ( | block_stmt_iterator | ) | [inline, static] |
| block_stmt_iterator bsi_for_stmt | ( | tree | ) |
Definition at line 2927 of file tree-cfg.c.
References bb_for_stmt(), bsi_end_p(), bsi_next(), bsi_start(), bsi_stmt(), and gcc_unreachable.
Referenced by forward_propagate_into_cond(), issue_prefetch_ref(), lambda_loopnest_to_gcc_loopnest(), linearize_expr(), linearize_expr_tree(), realify_fake_stores(), remove_dead_inserted_code(), remove_statement(), remove_stmt_or_phi(), replace_immediate_uses(), rewrite_use_address(), rewrite_use_compare(), rewrite_use_nonlinear_expr(), sink_code_in_bb(), slpeel_make_loop_iterate_ntimes(), substitute_single_use_vars(), tree_divmod_fixed_value(), tree_gen_interval_profiler(), tree_gen_one_value_profiler(), tree_gen_pow2_profiler(), tree_mod_pow2(), tree_mod_subtract(), tree_value_profile_transformations(), and VEC().
| void bsi_insert_after | ( | block_stmt_iterator * | , | |
| tree | , | |||
| enum | bsi_iterator_update | |||
| ) |
Definition at line 2956 of file tree-cfg.c.
References block_stmt_iterator::bb, modify_stmt(), set_bb_for_stmt(), block_stmt_iterator::tsi, tsi_link_after(), and update_modified_stmts().
Referenced by abs_replacement(), adjust_accumulator_values(), adjust_return_value(), analyze_edges_for_bb(), bsi_commit_one_edge_insert(), bsi_insert_on_edge_immediate(), bsi_move_after(), compute_phi_arg_on_exit(), conditional_replacement(), copy_bb(), create_iv(), determine_invariantness_stmt(), disband_implicit_edges(), expand_call_inline(), expand_complex_div_wide(), expand_omp_for_generic(), expand_omp_for_static_chunk(), expand_omp_for_static_nochunk(), expand_omp_parallel(), expand_omp_sections(), expand_omp_single(), expand_parallel_call(), factor_computed_gotos(), find_phi_replacement_condition(), insert_backedge_copies(), insert_fake_stores(), insert_reciprocals(), lambda_loopnest_to_gcc_loopnest(), lv_adjust_loop_entry_edge(), mf_build_check_statement_for(), perfect_nestify(), process_assert_insertions_for(), propagate_into_addr(), replace_phi_with_cond_modify_expr(), replace_phi_with_stmt(), rewrite_use_nonlinear_expr(), setup_one_parameter(), slpeel_add_loop_guard(), sra_insert_after(), tree_duplicate_bb(), tree_lv_add_condition_to_bb(), tree_merge_blocks(), tree_split_block(), tree_unroll_loop(), update_complex_components(), and vect_create_epilog_for_reduction().
| void bsi_insert_before | ( | block_stmt_iterator * | , | |
| tree | , | |||
| enum | bsi_iterator_update | |||
| ) |
Definition at line 2943 of file tree-cfg.c.
References block_stmt_iterator::bb, modify_stmt(), set_bb_for_stmt(), block_stmt_iterator::tsi, tsi_link_before(), and update_modified_stmts().
Referenced by abs_replacement(), add_to_dst_predicate_list(), adjust_return_value(), bsi_commit_one_edge_insert(), bsi_insert_on_edge_immediate(), bsi_move_before(), conditional_replacement(), convert_to_gimple_builtin(), create_iv(), expand_call_inline(), expand_complex_div_wide(), expand_complex_move(), factor_computed_gotos(), find_phi_replacement_condition(), force_gimple_operand_bsi(), gimplify_val(), insert_backedge_copies(), insert_reciprocals(), issue_prefetch_ref(), label_to_block(), label_to_block_fn(), lambda_loopnest_to_gcc_loopnest(), minmax_replacement(), perfect_nestify(), realify_fake_stores(), remove_bb(), remove_forwarder_block(), replace_phi_with_cond_modify_expr(), replace_uses_equiv_to_x_with_y(), rewrite_address_base(), rewrite_use_address(), rewrite_use_compare(), rewrite_use_nonlinear_expr(), scev_const_prop(), slpeel_make_loop_iterate_ntimes(), sra_insert_before(), tree_block_label(), tree_divmod_fixed_value(), tree_find_edge_insert_loc(), tree_gen_interval_profiler(), tree_gen_one_value_profiler(), tree_gen_pow2_profiler(), tree_if_convert_cond_expr(), tree_merge_blocks(), tree_mod_pow2(), tree_mod_subtract(), vect_create_data_ref_ptr(), vect_finish_stmt_generation(), vect_pattern_recog_1(), vect_transform_loop(), and vect_update_ivs_after_vectorizer().
Definition at line 3180 of file tree-cfg.c.
References append_to_statement_list(), and PENDING_STMT.
Referenced by insert_copy_on_edge(), insert_edge_copies(), insert_into_preds_of_block(), lambda_loopnest_to_gcc_loopnest(), move_computations_stmt(), process_assert_insertions_for(), schedule_sm(), tree_flow_call_edges_add(), tree_gen_edge_profiler(), and update_complex_components_on_edge().
| basic_block bsi_insert_on_edge_immediate | ( | edge | , | |
| tree | ||||
| ) |
Definition at line 3189 of file tree-cfg.c.
References bsi_insert_after(), bsi_insert_before(), BSI_NEW_STMT, gcc_assert, NULL, PENDING_STMT, and tree_find_edge_insert_loc().
Referenced by bsi_insert_on_edge_immediate_loop(), constant_val_insert(), vect_build_loop_niters(), vect_create_data_ref_ptr(), vect_gen_niters_for_prolog_loop(), vect_generate_tmps_on_preheader(), vect_init_vector(), and vectorizable_load().
| basic_block bsi_insert_on_edge_immediate_loop | ( | edge | , | |
| tree | ||||
| ) |
Definition at line 433 of file tree-ssa-loop-manip.c.
References add_bb_to_loop(), bsi_insert_on_edge_immediate(), dest, edge::dest, find_common_loop(), loop::latch, basic_block_def::loop_father, NULL, src, and edge::src.
| static block_stmt_iterator bsi_last | ( | basic_block | ) | [inline, static] |
| void bsi_move_after | ( | block_stmt_iterator * | , | |
| block_stmt_iterator * | ||||
| ) |
Definition at line 2979 of file tree-cfg.c.
References bsi_insert_after(), bsi_remove(), BSI_SAME_STMT, and bsi_stmt().
Referenced by bsi_move_to_bb_end().
| void bsi_move_before | ( | block_stmt_iterator * | , | |
| block_stmt_iterator * | ||||
| ) |
Definition at line 2990 of file tree-cfg.c.
References bsi_insert_before(), bsi_remove(), BSI_SAME_STMT, and bsi_stmt().
Referenced by bsi_move_to_bb_end(), linearize_expr(), linearize_expr_tree(), minmax_replacement(), perfect_nestify(), sink_code_in_bb(), and tree_block_label().
| void bsi_move_to_bb_end | ( | block_stmt_iterator * | , | |
| basic_block | ||||
| ) |
Definition at line 3001 of file tree-cfg.c.
References bsi_end_p(), bsi_last(), bsi_move_after(), bsi_move_before(), bsi_stmt(), is_ctrl_stmt(), and last.
Referenced by sink_code_in_bb().
| static void bsi_next | ( | block_stmt_iterator * | ) | [inline, static] |
| static void bsi_prev | ( | block_stmt_iterator * | ) | [inline, static] |
| void bsi_remove | ( | block_stmt_iterator * | , | |
| bool | ||||
| ) |
Definition at line 2900 of file tree-cfg.c.
References bsi_stmt(), delink_stmt_imm_use(), mark_stmt_modified(), NULL, remove_stmt_from_eh_region(), set_bb_for_stmt(), block_stmt_iterator::tsi, and tsi_delink().
| void bsi_replace | ( | const block_stmt_iterator * | , | |
| tree | , | |||
| bool | ||||
| ) |
Definition at line 3018 of file tree-cfg.c.
References add_stmt_to_eh_region(), block_stmt_iterator::bb, bsi_stmt(), bsi_stmt_ptr(), delink_stmt_imm_use(), EXPR_LOCUS, lookup_stmt_eh_region(), mark_stmt_modified(), modify_stmt(), remove_stmt_from_eh_region(), set_bb_for_stmt(), SET_EXPR_LOCUS, and update_modified_stmts().
Referenced by adjust_return_value(), determine_invariantness_stmt(), replace_immediate_uses(), and scalarize_ldst().
| static block_stmt_iterator bsi_start | ( | basic_block | ) | [inline, static] |
| static tree bsi_stmt | ( | block_stmt_iterator | ) | [inline, static] |
| static tree* bsi_stmt_ptr | ( | block_stmt_iterator | ) | [inline, static] |
| bool can_unroll_loop_p | ( | struct loop * | loop, | |
| unsigned | factor, | |||
| struct tree_niter_desc * | niter | |||
| ) |
Definition at line 640 of file tree-ssa-loop-manip.c.
References affine_iv::base, tree_niter_desc::bound, can_duplicate_loop_p(), tree_niter_desc::cmp, contains_abnormal_ssa_name_p(), tree_niter_desc::control, exit(), tree_niter_desc::may_be_zero, number_of_iterations_exit(), PARAM_VALUE, single_dom_exit(), affine_iv::step, and tree_num_loop_insns().
Referenced by should_unroll_loop_p().
Definition at line 258 of file tree-ssa-loop-ivcanon.c.
References canonicalize_loop_induction_variables(), changed, cleanup_tree_cfg_loop(), i, loops::num, loops::parray, scev_reset(), TODO_cleanup_cfg, and UL_SINGLE_ITER.
Definition at line 1022 of file tree-cfg.c.
References bsi_end_p(), bsi_next(), bsi_remove(), bsi_start(), bsi_stmt(), CASE_LABEL, computed_goto_p(), COND_EXPR_ELSE, COND_EXPR_THEN, DECL_ARTIFICIAL, DECL_NONLOCAL, FOR_EACH_BB, for_each_eh_region(), FORCED_LABEL, free(), GOTO_DESTINATION, i, basic_block_def::index, LABEL_EXPR_LABEL, label_for_bb, last_basic_block, last_stmt(), main_block_label(), n, SWITCH_LABELS, TREE_CODE, TREE_VEC_ELT, TREE_VEC_LENGTH, update_eh_label(), vec, xcalloc(), and XCNEWVEC.
Referenced by build_tree_cfg(), and execute_cleanup_cfg_post_optimizing().
Definition at line 925 of file tree-cfg.c.
References changed, cleanup_control_flow(), cleanup_forwarder_blocks(), cleanup_tree_cfg_1(), compact_blocks(), delete_unreachable_blocks(), end_recording_case_labels(), gcc_assert, merge_seq_blocks(), optimize, start_recording_case_labels(), timevar_pop, timevar_push, and verify_flow_info().
Referenced by cleanup_tree_cfg_loop(), execute_cleanup_cfg_post_optimizing(), execute_cleanup_cfg_pre_ipa(), execute_expand_omp(), execute_fixup_cfg(), execute_fold_all_builtins(), execute_todo(), expand_omp_parallel(), finalize_jump_threads(), fini_pre(), make_edges(), tree_optimize_tail_calls_1(), tree_ssa_dominator_optimize(), and tree_ssa_forward_propagate_single_use_vars().
Definition at line 605 of file tree-cfgcleanup.c.
References BITMAP_ALLOC, BITMAP_FREE, calculate_dominance_info(), CDI_DOMINATORS, changed, cleanup_tree_cfg(), current_loops, fix_loop_structure(), NULL, rewrite_into_loop_closed_ssa(), scev_reset(), TODO_update_ssa, and verify_loop_structure().
Referenced by canonicalize_induction_variables(), execute_todo(), tree_ssa_unswitch_loops(), and tree_unroll_loops_completely().
Definition at line 1757 of file tree-cfg.c.
References current_function_calls_alloca, and current_function_calls_setjmp.
Referenced by eliminate_unnecessary_stmts(), and remove_useless_stmts().
Definition at line 218 of file tree-into-ssa.c.
References BASIC_BLOCK, bitmap_bit_p(), bitmap_set_bit(), ENTRY_BLOCK_PTR, EXECUTE_IF_SET_IN_BITMAP, FOR_EACH_EDGE, free(), i, basic_block_def::index, last_basic_block, n_basic_blocks, edge::src, tos, worklist, and xmalloc().
Definition at line 2655 of file tree-cfg.c.
References GOTO_DESTINATION, and TREE_CODE.
Referenced by cleanup_dead_labels(), factor_computed_gotos(), find_taken_edge(), make_blocks(), and tree_can_make_abnormal_goto().
Definition at line 682 of file tree-ssa-loop-ivopts.c.
References contains_abnormal_ssa_name_p(), for_each_index(), gcc_unreachable, idx_contains_abnormal_ssa_name_p(), is_gimple_min_invariant(), NULL, SSA_NAME, SSA_NAME_OCCURS_IN_ABNORMAL_PHI, tcc_binary, tcc_comparison, tcc_unary, TREE_CODE, TREE_CODE_CLASS, and TREE_OPERAND.
Definition at line 1125 of file tree-chrec.c.
References automatically_generated_chrec_p(), avoid_arithmetics_in_type_p(), chrec_convert_1(), nowrap_type_p(), scev_probably_wraps_p(), signed_type_for(), TREE_TYPE, TYPE_PRECISION, and TYPE_UNSIGNED.
Referenced by chrec_convert_1(), and idx_find_step().
Definition at line 793 of file tree-ssa-alias.c.
References ASM_INPUTS, ASM_OUTPUTS, count_ptr_d::count, count_ptr_derefs(), EXPR_P, FOR_EACH_SSA_TREE_OPERAND, gcc_assert, i, NULL, NULL_TREE, count_ptr_d::ptr, SSA_OP_USE, TREE_CODE, TREE_OPERAND, and walk_tree().
| function_ann_t create_function_ann | ( | tree | ) |
Definition at line 157 of file tree-dfa.c.
References FUNCTION_ANN, gcc_assert, ggc_alloc, memset, and TREE_CODE.
Referenced by get_function_ann().
| void create_iv | ( | tree | , | |
| tree | , | |||
| tree | , | |||
| struct loop * | , | |||
| block_stmt_iterator * | , | |||
| bool | , | |||
| tree * | , | |||
| tree * | ||||
| ) |
Definition at line 50 of file tree-ssa-loop-manip.c.
References add_phi_arg(), add_referenced_tmp_var(), add_referenced_var(), bsi_insert_after(), bsi_insert_before(), bsi_insert_on_edge_immediate_loop(), BSI_NEW_STMT, build1, build2, create_phi_node(), create_tmp_var, fold(), fold_build1, force_gimple_operand(), loop::header, loop_latch_edge(), loop_preheader_edge(), make_ssa_name(), may_negate_without_overflow_p(), NULL_TREE, pe, SSA_NAME_DEF_STMT, TREE_CODE, tree_expr_nonnegative_p(), tree_expr_nonnegative_warnv_p(), tree_int_cst_lt(), TREE_TYPE, TYPE_UNSIGNED, and void_type_node.
| tree create_mem_ref | ( | block_stmt_iterator * | , | |
| tree | , | |||
| struct affine_tree_combination * | ||||
| ) |
Definition at line 568 of file tree-ssa-address.c.
References addr_to_parts(), mem_address::base, build_addr(), build_pointer_type(), create_mem_ref_raw(), current_function_decl, fold_build2, fold_convert(), force_gimple_operand_bsi(), gcc_assert, gcc_unreachable, gimplify_mem_ref_parts(), mem_address::index, integer_onep(), integer_zerop(), NULL_TREE, mem_address::offset, sizetype, mem_address::step, mem_address::symbol, tmp, and TREE_TYPE.
Referenced by rewrite_use_address().
| tree create_new_def_for | ( | tree | , | |
| tree | , | |||
| def_operand_p | ||||
| ) |
Definition at line 2568 of file tree-into-ssa.c.
References bb_for_stmt(), duplicate_ssa_name(), EDGE_ABNORMAL, edge::flags, FOR_EACH_EDGE, register_new_name_mapping(), set_current_def(), SET_DEF, SSA_NAME_OCCURS_IN_ABNORMAL_PHI, and TREE_CODE.
Referenced by add_exit_phis_edge(), and tree_duplicate_bb().
| tree create_phi_node | ( | tree | , | |
| basic_block | ||||
| ) |
Definition at line 314 of file tree-phinodes.c.
References bb_ann(), EDGE_COUNT, make_phi_node(), PHI_CHAIN, phi_nodes(), and set_bb_for_stmt().
| stmt_ann_t create_stmt_ann | ( | tree | ) |
Definition at line 429 of file tree-dfa.c.
References gcc_assert, ggc_alloc, GGC_CNEW, is_gimple_stmt(), memset, and STMT_ANN.
Referenced by get_stmt_ann(), mark_stmt_modified(), modify_stmt(), and unmodify_stmt().
| tree_ann_common_t create_tree_common_ann | ( | tree | ) |
Definition at line 200 of file tree-dfa.c.
References gcc_assert, GGC_CNEW, and TREE_ANN_COMMON.
Referenced by get_tree_common_ann().
Definition at line 407 of file tree-dfa.c.
References DECL_P, gcc_assert, ggc_alloc, GGC_CNEW, memset, and VAR_ANN.
Referenced by create_global_var(), and get_var_ann().
| void debug_tree_bb | ( | basic_block | ) |
| basic_block debug_tree_bb_n | ( | int | ) |
| void debug_tree_cfg | ( | int | ) |
Definition at line 587 of file tree-dfa.c.
References dump_variable().
Referenced by verify_call_clobbering(), verify_flow_insensitive_alias_info(), verify_flow_sensitive_alias_info(), and verify_name_tags().
| DEF_VEC_ALLOC_O | ( | fieldoff_s | , | |
| heap | ||||
| ) |
| DEF_VEC_O | ( | fieldoff_s | ) |
Definition at line 655 of file tree-dfa.c.
References DECL_UID, default_defs, gcc_assert, h, htab_find_with_hash(), in, NULL_TREE, and SSA_VAR_P.
Definition at line 5027 of file tree-ssa-structalias.c.
References htab_delete(), and NULL_TREE.
Referenced by delete_tree_ssa(), and ipa_pta_execute().
Definition at line 2807 of file tree-cfg.c.
References FOR_EACH_BB, free_blocks_annotations(), free_rbi_pool(), label_to_block_map, n_basic_blocks, and NULL.
Referenced by execute_free_cfg_annotations(), and execute_free_datastructures().
Definition at line 733 of file tree-ssa.c.
References addressable_vars, aliases_computed_p, BITMAP_FREE, bsi_end_p(), bsi_next(), bsi_start(), bsi_stmt(), call_clobbered_vars, default_defs, delete_alias_heapvars(), fini_phinodes(), fini_ssa_operands(), fini_ssanames(), FOR_EACH_BB, FOR_EACH_REFERENCED_VAR, free_ssa_operands(), gcc_assert, get_stmt_ann(), ggc_free(), global_var, htab_delete(), i, mark_stmt_modified(), modified_noreturn_calls, need_ssa_update_p(), NULL, NULL_TREE, num_referenced_vars, num_ssa_names, referenced_var, referenced_vars, release_defs(), release_ssa_name(), set_phi_nodes(), SSA_NAME, ssa_name, SSA_NAME_IMM_USE_NODE, and TREE_CODE.
Definition at line 2532 of file tree-into-ssa.c.
References BITMAP_FREE, clear_ssa_name_info(), EXECUTE_IF_SET_IN_BITMAP, htab_delete(), i, need_to_initialize_update_ssa_p, need_to_update_vops_p, NULL, release_ssa_name(), repl_tbl, sbitmap_free, ssa_name, update_ssa_stats, and update_ssa_stats_d::virtual_symbols.
Referenced by slpeel_tree_peel_loop_to_edge(), and update_ssa().
Definition at line 2727 of file tree-cfg.c.
References bsi_insert_after(), bsi_last(), BSI_NEW_STMT, bsi_remove(), build1, build_empty_stmt(), COND_EXPR_ELSE, COND_EXPR_THEN, dest, edge::dest, EDGE_COUNT, EDGE_FALLTHRU, EDGE_FALSE_VALUE, EDGE_SUCC, EDGE_TRUE_VALUE, EXIT_BLOCK_PTR, find_edge(), edge::flags, FOR_EACH_BB, FOR_EACH_EDGE, gcc_assert, gcc_unreachable, is_ctrl_stmt(), last, last_stmt(), basic_block_def::next_bb, SET_EXPR_LOCATION, SET_EXPR_LOCUS, single_succ(), single_succ_edge(), single_succ_p(), tree_block_label(), TREE_CODE, TREE_OPERAND, and void_type_node.
Referenced by execute_free_cfg_annotations(), and execute_free_datastructures().
Definition at line 2260 of file tree-ssa-alias.c.
References current_function_decl, dump_points_to_info_for(), dump_variable(), FOR_EACH_REFERENCED_VAR, fprintf(), i, may_be_aliased(), NAME_TAG, NULL_TREE, num_referenced_vars, num_ssa_names, pi, ptr, referenced_var, ssa_name, SSA_NAME_IN_FREE_LIST, SSA_NAME_PTR_INFO, TREE_CODE, TYPE_TAG, alias_map_d::var, and var_ann().
Definition at line 2459 of file tree-cfg.c.
References cfg_stats, current_function_decl, EDGE_COUNT, FOR_EACH_BB, fprintf(), n_basic_blocks, n_edges, cfg_stats_d::num_merged_labels, SCALE, and size.
Referenced by debug_cfg_stats(), and dump_tree_cfg().
Definition at line 669 of file tree-dfa.c.
References collect_dfa_stats(), current_function_decl, fprintf(), dfa_stats_d::max_num_phi_args, dfa_stats_d::num_defs, dfa_stats_d::num_phi_args, dfa_stats_d::num_phis, num_referenced_vars, dfa_stats_d::num_stmt_anns, dfa_stats_d::num_uses, dfa_stats_d::num_v_may_defs, dfa_stats_d::num_v_must_defs, dfa_stats_d::num_var_anns, dfa_stats_d::num_vuses, SCALE, and size.
Referenced by debug_dfa_stats(), rewrite_blocks(), and rewrite_ssa_into_ssa().
Definition at line 1313 of file tree-ssa-dom.c.
References avail_exprs, fprintf(), htab_statistics(), opt_stats, and PERCENT.
| void dump_generic_bb | ( | FILE * | , | |
| basic_block | , | |||
| int | , | |||
| int | ||||
| ) |
Definition at line 2129 of file tree-pretty-print.c.
References dump_generic_bb_buff(), dumping_stmts, maybe_init_pretty_print(), and pp_flush.
Definition at line 2482 of file tree-ssa-alias.c.
References dump_flags, fprintf(), i, print_generic_expr(), SSA_NAME, SSA_NAME_VAR, TREE_CODE, var_ann(), VARRAY_ACTIVE_SIZE, VARRAY_TREE, varray_type, VEC, and VEC_iterate.
Definition at line 2420 of file tree-ssa-alias.c.
References bsi_end_p(), bsi_next(), bsi_start(), bsi_stmt(), current_function_decl, default_def(), dump_points_to_info_for(), FOR_EACH_BB, FOR_EACH_REFERENCED_VAR, FOR_EACH_SSA_TREE_OPERAND, fprintf(), i, iter, num_referenced_vars, PHI_CHAIN, phi_nodes(), PHI_RESULT, POINTER_TYPE_P, ptr, referenced_var, si, SSA_OP_DEF, TREE_TYPE, and var_ann().
Definition at line 2359 of file tree-ssa-alias.c.
References dump_flags, EXECUTE_IF_SET_IN_BITMAP, fprintf(), pi, print_generic_expr(), referenced_var, and SSA_NAME_PTR_INFO.
Definition at line 492 of file tree-dfa.c.
References current_function_decl, dump_variable(), FOR_EACH_REFERENCED_VAR, fprintf(), get_name(), i, num_referenced_vars, and referenced_var.
Referenced by compute_may_aliases(), and debug_referenced_vars().
Definition at line 272 of file tree-dfa.c.
References dump_flags, fprintf(), get_subvars_for_var(), and print_generic_expr().
Referenced by debug_subvars_for(), and dump_variable().
Definition at line 2433 of file tree-cfg.c.
References brief_dump_cfg(), current_function_decl, dump_cfg_stats(), dump_function_to_file(), fprintf(), fputc(), last_basic_block, n_basic_blocks, n_edges, TDF_BLOCKS, TDF_DETAILS, and TDF_STATS.
Referenced by build_tree_cfg(), debug_tree_cfg(), execute_fixup_cfg(), rewrite_out_of_ssa(), and tree_estimate_probability().
Definition at line 521 of file tree-dfa.c.
References DECL_UID, default_def(), dump_flags, dump_may_aliases_for(), dump_points_to_info_for(), dump_subvars_for(), ESCAPE_BAD_CAST, ESCAPE_IS_GLOBAL, ESCAPE_IS_PARM, ESCAPE_STORED_IN_GLOBAL, ESCAPE_TO_ASM, ESCAPE_TO_CALL, ESCAPE_TO_PURE_CONST, ESCAPE_TO_RETURN, ESCAPE_UNKNOWN, fprintf(), get_subvars_for_var(), is_call_clobbered(), is_global_var(), may_aliases(), NULL_TREE, POINTER_TYPE_P, print_generic_expr(), SSA_NAME, SSA_NAME_VAR, TDF_DETAILS, TREE_ADDRESSABLE, TREE_CODE, TREE_THIS_VOLATILE, TREE_TYPE, and var_ann().
Referenced by debug_variable(), dump_alias_info(), dump_referenced_vars(), and dump_vars().
Definition at line 278 of file tree-ssanames.c.
| bool empty_block_p | ( | basic_block | ) |
Definition at line 145 of file tree-ssa-phiopt.c.
References bsi_end_p(), bsi_next(), bsi_start(), bsi_stmt(), IS_EMPTY_STMT, and TREE_CODE.
Definition at line 1176 of file tree-ssa-loop-niter.c.
References estimate_numbers_of_iterations_loop(), fold_defer_overflow_warnings(), fold_undefer_and_ignore_overflow_warnings(), i, loops::num, and loops::parray.
Definition at line 711 of file tree-ssa-loop-niter.c.
References copy_node, expand_simple_operations(), fold(), fold_defer_overflow_warnings(), fold_undefer_and_ignore_overflow_warnings(), i, IS_EXPR_CODE_CLASS, is_gimple_min_invariant(), n, NULL_TREE, ret, SSA_NAME, SSA_NAME_DEF_STMT, TREE_CODE, TREE_CODE_CLASS, TREE_CODE_LENGTH, and TREE_OPERAND.
Referenced by expand_simple_operations(), find_bivs(), find_givs_in_stmt_scev(), number_of_iterations_exit(), tree_simplify_using_condition(), and tree_simplify_using_condition_1().
Definition at line 1331 of file tree-ssa-loop-ivopts.c.
References bb_for_stmt(), expr_invariant_in_loop_p(), EXPR_P, flow_bb_inside_loop_p(), i, is_gimple_min_invariant(), len, SSA_NAME, SSA_NAME_DEF_STMT, TREE_CODE, TREE_CODE_LENGTH, and TREE_OPERAND.
Definition at line 111 of file tree-vn.c.
References expressions_equal_p(), OEP_PURE_SAME, operand_equal_p(), TREE_CHAIN, TREE_CODE, TREE_TYPE, and TREE_VALUE.
| void extract_true_false_edges_from_block | ( | basic_block | , | |
| edge * | , | |||
| edge * | ||||
| ) |
Definition at line 5809 of file tree-cfg.c.
References EDGE_SUCC, EDGE_TRUE_VALUE, and edge::flags.
Referenced by abs_replacement(), associate_equivalences_with_edges(), conditional_replacement(), dom_opt_finalize_block(), expand_gimple_cond_expr(), find_taken_edge_cond_expr(), minmax_replacement(), record_edge_info(), tree_if_convert_cond_expr(), tree_ssa_loop_version(), tree_verify_flow_info(), and value_replacement().
Definition at line 794 of file tree-ssa-loop-niter.c.
References build_int_cst(), build_int_cst_type(), chrec_dont_know, free(), get_loop_exit_edges(), i, just_once_each_iteration_p(), tree_niter_desc::may_be_zero, tree_niter_desc::niter, nonzero_p(), NULL, NULL_TREE, number_of_iterations_exit(), edge::src, TREE_CODE, tree_int_cst_lt(), unsigned_type_node, and zero_p().
Definition at line 1074 of file tree-ssa-loop-niter.c.
References chrec_contains_undetermined(), chrec_dont_know, free(), get_loop_exit_edges(), i, just_once_each_iteration_p(), loop_niter_by_eval(), tree_niter_desc::niter, NULL, NULL_TREE, edge::src, and tree_int_cst_lt().
Definition at line 1030 of file tree-dfa.c.
References find_new_referenced_vars_1(), NULL, and walk_tree().
Referenced by convert_to_gimple_builtin(), and generate_element_init().
| edge find_taken_edge | ( | basic_block | , | |
| tree | ||||
| ) |
Definition at line 2254 of file tree-cfg.c.
References computed_goto_p(), find_taken_edge_computed_goto(), find_taken_edge_cond_expr(), find_taken_edge_switch_expr(), gcc_assert, gcc_unreachable, is_ctrl_stmt(), is_gimple_min_invariant(), last_stmt(), NULL, TREE_CODE, and TREE_OPERAND.
Referenced by cleanup_control_expr_graph(), copy_prop_visit_cond_stmt(), optimize_stmt(), propagate_rhs_into_lhs(), thread_across_edge(), visit_cond_stmt(), and vrp_visit_cond_stmt().
Definition at line 4410 of file tree-ssa-structalias.c.
References bitmap_empty_p, BITMAP_GGC_ALLOC, variable_info::decl, default_def(), EXECUTE_IF_SET_IN_BITMAP, variable_info::fullsize, get_ptr_info(), get_subvars_for_var(), i, variable_info::id, variable_info::is_artificial_var, variable_info::is_heap_var, lookup_id_for_tree(), variable_info::node, NULL, pi, set_uids_in_ptset(), variable_info::size, variable_info::solution, SSA_NAME, SSA_NAME_VAR, TREE_CODE, and var_can_have_subvars().
Referenced by compute_flow_sensitive_aliasing().
| tree first_stmt | ( | basic_block | ) |
Definition at line 2823 of file tree-cfg.c.
References bsi_end_p(), bsi_start(), bsi_stmt(), i, and NULL_TREE.
Referenced by ANL_LOOP_CONSTRUCT::_Loop_Srcpos_Range(), ANL_REGION_CONSTRUCT::_Region_Srcpos_Range(), DU_MANAGER::Collect_CFG(), Create_New_Child(), dump_bb_header(), Expand_Sibling_Blocks(), make_edges(), pp_cfg_jump(), remove_forwarder_block(), remove_forwarder_block_with_phi(), Separate_And_Update(), Split_Block(), statement_sink_location(), tree_cfg2vcg(), ANL_REGION_CONSTRUCT::Write(), and ANL_LOOP_CONSTRUCT::Write().
Definition at line 85 of file tree-ssa.c.
References add_phi_arg(), edge::dest, NULL, PENDING_STMT, PHI_CHAIN, phi_nodes(), TREE_CHAIN, and TREE_VALUE.
Definition at line 427 of file tree-cfg.c.
References boolean_false_node, boolean_true_node, cond, COND_EXPR_COND, fold(), fold_defer_overflow_warnings(), fold_undefer_overflow_warnings(), FOR_EACH_BB, integer_onep(), integer_zerop(), last_stmt(), TREE_CODE, TREE_NO_WARNING, and WARN_STRICT_OVERFLOW_CONDITIONAL.
Definition at line 2037 of file tree-ssa-ccp.c.
References build_function_call_expr(), callee, ccp_fold_builtin(), changed, fold_stmt_r_data::changed_p, DECL_BUILT_IN, DECL_P, fold(), fold_stmt_r(), get_callee_fndecl(), get_rhs(), implicit_built_in_decls, fold_stmt_r_data::inside_addr_expr_p, NULL, NULL_TREE, OBJ_TYPE_REF_OBJECT, result, set_rhs(), fold_stmt_r_data::stmt, STRIP_USELESS_TYPE_CONVERSION, TREE_CODE, TREE_OPERAND, TREE_TYPE, and walk_tree().
Definition at line 2455 of file tree-ssa-ccp.c.
References changed, fold_stmt_r_data::changed_p, fold(), fold_stmt_r(), gcc_assert, get_rhs(), fold_stmt_r_data::inside_addr_expr_p, NULL, set_rhs(), fold_stmt_r_data::stmt, STRIP_USELESS_TYPE_CONVERSION, and walk_tree().
Referenced by forward_propagate_addr_expr_1(), forward_propagate_addr_into_variable_array_index(), propagate_rhs_into_lhs(), replace_reciprocal(), and replace_uses_by().
Definition at line 151 of file tree-ssa-loop-im.c.
References gcc_unreachable, idx, SSA_NAME, TMR_BASE, TMR_INDEX, TREE_CODE, and TREE_OPERAND.
| unsigned force_expr_to_var_cost | ( | tree | ) |
Definition at line 3565 of file tree-ssa-loop-ivopts.c.
References add_cost, addr(), address_cost(), build1, build2, build_int_cst(), build_pointer_type(), computation_cost(), create_tmp_var_raw(), cst_and_fits_in_hwi(), DECL_MODE, dump_file, dump_flags, force_expr_to_var_cost(), fprintf(), gcc_unreachable, gen_rtx_MEM(), gen_rtx_SYMBOL_REF, int_cst_value(), integer_type_node, is_gimple_val(), mode, multiply_by_cost(), Pmode, SET_DECL_RTL, SSA_VAR_P, STRIP_NOPS, target_spill_cost, TDF_DETAILS, TREE_CODE, TREE_INVARIANT, TREE_OPERAND, TREE_STATIC, TREE_TYPE, TYPE_MODE, and x.
Referenced by expression_expensive_p(), force_expr_to_var_cost(), and force_var_cost().
Definition at line 4720 of file gimplify.c.
References add_referenced_tmp_var(), add_referenced_var(), build(), build2, fb_rvalue, gcc_assert, gimplify_ctxp, gimplify_expr(), GS_ERROR, in_ssa_p, gimplify_ctx::into_ssa, is_gimple_reg_rhs(), is_gimple_val(), NULL, NULL_TREE, pop_gimplify_context(), push_gimplify_context(), referenced_vars, ret, gimplify_ctx::temps, TREE_CHAIN, and TREE_TYPE.
Referenced by add_to_dst_predicate_list(), create_expression_by_pieces(), create_iv(), determine_exit_conditions(), find_phi_replacement_condition(), force_gimple_operand_bsi(), rewrite_use_address(), rewrite_use_compare(), rewrite_use_nonlinear_expr(), rewrite_use_outer(), set_component_ssa_name(), vect_build_loop_niters(), vect_create_addr_base_for_vector_ref(), vect_gen_niters_for_prolog_loop(), and vect_update_ivs_after_vectorizer().
| tree force_gimple_operand_bsi | ( | block_stmt_iterator * | , | |
| tree | , | |||
| bool | , | |||
| tree | ||||
| ) |
Definition at line 6466 of file gimplify.c.
References bsi_insert_before(), BSI_SAME_STMT, and force_gimple_operand().
Referenced by create_mem_ref(), gimplify_mem_ref_parts(), issue_prefetch_ref(), prepare_instrumented_value(), replace_uses_equiv_to_x_with_y(), scev_const_prop(), tree_gen_interval_profiler(), tree_gen_one_value_profiler(), tree_gen_pow2_profiler(), and VEC().
Definition at line 1386 of file tree-ssa-loop-niter.c.
References free_numbers_of_iterations_estimates_loop(), i, loops::num, and loops::parray.
Definition at line 2079 of file tree-ssa-loop-niter.c.
References nb_iter_bound::bound, loop::bounds, loop::estimated_nb_iterations, free(), loop::nb_iterations, next, nb_iter_bound::next, and NULL.
Definition at line 804 of file omp-low.c.
References free_omp_region_1(), n, omp_region::next, NULL, and r.
Referenced by execute_expand_omp(), and make_edges().
| static function_ann_t function_ann | ( | tree | ) | [inline, static] |
| void get_address_description | ( | tree | , | |
| struct mem_address * | ||||
| ) |
Definition at line 683 of file tree-ssa-address.c.
References mem_address::base, mem_address::index, mem_address::offset, mem_address::step, mem_address::symbol, TMR_BASE, TMR_INDEX, TMR_OFFSET, TMR_STEP, and TMR_SYMBOL.
Referenced by expand_expr_real_1(), and maybe_fold_tmr().
Definition at line 333 of file tree-into-ssa.c.
References ssa_name_info::current_def, get_ssa_name_ann(), SSA_NAME, TREE_CODE, and var_ann().
| static const char* get_filename | ( | tree | ) | [inline, static] |
| static function_ann_t get_function_ann | ( | tree | ) | [inline, static] |
| static int get_lineno | ( | tree | ) | [inline, static] |
Definition at line 2338 of file tree-ssa-alias.c.
References gcc_assert, ggc_alloc, GGC_NEW, memset, NULL, pi, POINTER_TYPE_P, SSA_NAME_PTR_INFO, and TREE_TYPE.
Definition at line 861 of file tree-dfa.c.
References array_ref_element_size(), array_ref_low_bound(), bitsize_int, bitsize_unit_node, bitsize_zero_node, bitsizetype, component_ref_field_offset(), DECL_FIELD_BIT_OFFSET, DECL_SIZE, fold_build2, fold_convert(), gcc_assert, GET_MODE_BITSIZE, host_integerp(), HOST_WIDE_INT, index(), integer_zerop(), mode, NULL_TREE, size_binop(), sizetype, SSA_VAR_P, TREE_CODE, TREE_INT_CST_LOW, TREE_OPERAND, TREE_TYPE, TYPE_MODE, and TYPE_SIZE.
Referenced by find_used_portions(), get_constraint_for_component_ref(), get_expr_operands(), get_ref_tag(), get_tmr_operands(), and new_type_alias().
| static stmt_ann_t get_stmt_ann | ( | tree | ) | [inline, static] |
| static tree_ann_common_t get_tree_common_ann | ( | tree | ) | [inline, static] |
Definition at line 274 of file tree-vn.c.
References DECL_P, EXPR_P, gcc_unreachable, is_gimple_min_invariant(), NULL_TREE, SSA_NAME, SSA_NAME_VALUE, tree_ann(), TREE_CODE, and tree_common_ann().
Definition at line 1339 of file tree-vectorizer.c.
Definition at line 913 of file tree-dfa.c.
References gcc_assert, handled_component_p(), is_gimple_reg(), SSA_NAME, SSA_NAME_VAR, SSA_VAR_P, STRIP_NOPS, TREE_CODE, and TREE_OPERAND.
Referenced by add_stmt_operand(), and cprop_operand().
| tree gimplify_build1 | ( | block_stmt_iterator * | , | |
| enum | tree_code, | |||
| tree | , | |||
| tree | ||||
| ) |
Definition at line 5704 of file tree-cfg.c.
References build1, fold(), fold_build1, gimplify_val(), ret, and STRIP_NOPS.
Referenced by do_negate(), do_plus_minus(), do_unop(), expand_complex_conjugate(), expand_complex_div_wide(), expand_complex_division(), expand_complex_multiplication(), expand_complex_negation(), expand_vector_operations_1(), and tree_vec_extract().
| tree gimplify_build2 | ( | block_stmt_iterator * | , | |
| enum | tree_code, | |||
| tree | , | |||
| tree | , | |||
| tree | ||||
| ) |
Definition at line 5689 of file tree-cfg.c.
References build2, fold(), fold_build2, gimplify_val(), ret, and STRIP_NOPS.
Referenced by do_binop(), do_negate(), do_plus_minus(), expand_complex_addition(), expand_complex_comparison(), expand_complex_div_straight(), expand_complex_div_wide(), expand_complex_division(), and expand_complex_multiplication().
Definition at line 5674 of file tree-cfg.c.
References build3, fold(), fold_build3, gimplify_val(), ret, and STRIP_NOPS.
Referenced by tree_vec_extract().
| tree gimplify_val | ( | block_stmt_iterator * | , | |
| tree | , | |||
| tree | ||||
| ) |
Definition at line 5651 of file tree-cfg.c.
References bsi_insert_before(), BSI_SAME_STMT, bsi_stmt(), build(), build2, EXPR_LOCUS, in_ssa_p, is_gimple_val(), make_rename_temp(), mark_new_vars_to_rename(), NULL, SET_EXPR_LOCUS, and TREE_BLOCK.
Referenced by expand_vector_parallel(), extract_component(), gimplify_build1(), gimplify_build2(), and gimplify_build3().
Definition at line 1157 of file tree-cfg.c.
References CASE_HIGH, CASE_LABEL, CASE_LOW, FOR_EACH_BB, gcc_assert, i, int_const_binop(), integer_one_node, last_stmt(), NULL_TREE, SWITCH_LABELS, TREE_CODE, tree_int_cst_equal(), TREE_TYPE, TREE_VEC_ELT, and TREE_VEC_LENGTH.
Referenced by build_tree_cfg(), and execute_cleanup_cfg_post_optimizing().
| GTY | ( | (param_is(struct int_tree_map)) | ) |
| struct edge_prediction GTY | ( | (chain_next("%h.ep_next")) | ) | [read] |
Definition at line 361 of file tree-flow.h.
| union tree_ann_d GTY | ( | (desc("ann_type ((tree_ann_t)&%h)")) | ) | [write] |
Definition at line 321 of file tree-flow.h.
| struct ptr_info_def GTY | ( | () | ) | [read, write] |
Definition at line 69 of file tree-flow.h.
Definition at line 5019 of file tree-ssa-structalias.c.
References htab_create_ggc, NULL, NULL_TREE, tree_map_eq(), and tree_map_hash().
Referenced by init_tree_ssa(), and ipa_pta_execute().
Definition at line 130 of file tree-cfg.c.
References basic_block_info, ENTRY_BLOCK, ENTRY_BLOCK_PTR, EXIT_BLOCK, EXIT_BLOCK_PTR, init_flow(), initial_cfg_capacity, label_to_block_map, last_basic_block, memset, n_basic_blocks, NUM_FIXED_BLOCKS, PROFILE_ABSENT, SET_BASIC_BLOCK, VEC_address, VEC_alloc, and VEC_safe_grow.
Referenced by build_tree_cfg(), copy_cfg_body(), and move_sese_region_to_fn().
Definition at line 717 of file tree-ssa.c.
References addressable_vars, aliases_computed_p, BITMAP_ALLOC, call_clobbered_vars, default_defs, global_var, htab_create_ggc, init_alias_heapvars(), init_phinodes(), init_ssa_operands(), init_ssanames(), int_tree_map_eq(), int_tree_map_hash(), NULL, NULL_TREE, referenced_vars, and VARRAY_TREE_INIT.
| void insert_edge_copies | ( | tree | , | |
| basic_block | ||||
| ) |
Definition at line 1722 of file tree-sra.c.
References bsi_insert_on_edge(), EDGE_ABNORMAL, edge::flags, FOR_EACH_EDGE, and unsave_expr_now().
| unsigned int int_tree_map_hash | ( | const void * | ) |
| basic_block ip_end_pos | ( | struct loop * | ) |
| basic_block ip_normal_pos | ( | struct loop * | ) |
Definition at line 468 of file tree-ssa-loop-manip.c.
References edge::dest, EDGE_COUNT, EDGE_PRED, EDGE_SUCC, exit(), flow_bb_inside_loop_p(), last, last_stmt(), loop::latch, NULL, single_pred(), single_pred_p(), and TREE_CODE.
Definition at line 2672 of file tree-ssa-alias.c.
References i, NULL, var_ann(), VEC, and VEC_iterate.
Referenced by ptr_decl_may_alias_p().
Definition at line 2629 of file tree-cfg.c.
References call(), call_expr_flags(), current_function_has_nonlocal_label, ECF_NORETURN, gcc_assert, get_call_expr_in(), OMP_DIRECTIVE_P, tree_can_throw_internal(), and TREE_SIDE_EFFECTS.
Referenced by expand_complex_move(), make_edges(), mark_stmt_if_obviously_necessary(), and stmt_ends_bb_p().
Definition at line 2615 of file tree-cfg.c.
References TREE_CODE.
Referenced by bsi_move_to_bb_end(), disband_implicit_edges(), find_taken_edge(), make_edges(), mark_control_dependent_edges_necessary(), remove_dead_stmt(), stmt_ends_bb_p(), tree_verify_flow_info(), and vect_stmt_relevant_p().
Definition at line 138 of file tree-ssa-sink.c.
References DECL_P, gcc_assert, gcc_unreachable, get_base_address(), INDIRECT_REF_P, is_global_var(), NULL_TREE, pi, ptr, REFERENCE_CLASS_P, SSA_NAME_PTR_INFO, SSA_NAME_VAR, SSA_OP_VIRTUAL_DEFS, TREE_CODE, TREE_OPERAND, var_ann(), and ZERO_SSA_OPERANDS.
Referenced by mark_stmt_if_obviously_necessary(), and statement_sink_location().
| basic_block label_to_block_fn | ( | struct function * | , | |
| tree | ||||
| ) |
Definition at line 826 of file tree-cfg.c.
References BASIC_BLOCK, bsi_insert_before(), BSI_NEW_STMT, bsi_start(), build1, errorcount, LABEL_DECL_UID, NULL, NUM_FIXED_BLOCKS, sorrycount, VEC_index, VEC_length, and void_type_node.
| tree last_and_only_stmt | ( | basic_block | ) |
Definition at line 2855 of file tree-cfg.c.
References bsi_end_p(), bsi_last(), bsi_prev(), bsi_stmt(), i, last, NULL_TREE, prev, and TREE_CODE.
Referenced by abs_replacement(), do_while_loop_p(), and minmax_replacement().
| tree last_stmt | ( | basic_block | ) |
Definition at line 2833 of file tree-cfg.c.
References b, bsi_end_p(), bsi_last(), bsi_stmt(), and NULL_TREE.
Referenced by ANL_LOOP_CONSTRUCT::_Loop_Srcpos_Range(), ANL_REGION_CONSTRUCT::_Region_Srcpos_Range(), abs_replacement(), adjust_return_value(), BB_NODE::Append_stmt_before_branch(), apply_return_prediction(), c_parser_compound_statement_nostart(), candidate_bb_for_phi_optimization(), cfg_remove_useless_stmts_bb(), cleanup_dead_labels(), DU_MANAGER::Collect_CFG(), conditional_replacement(), copy_loop_headers(), create_canonical_iv(), determine_parallel_type(), determine_use_iv_cost_outer(), disband_implicit_edges(), do_while_loop_p(), dom_opt_finalize_block(), estimate_numbers_of_iterations_loop(), execute_warn_function_return(), expand_omp_for(), expand_omp_parallel(), find_taken_edge(), find_taken_edge_switch_expr(), fold_cond_expr_cond(), get_loop_exit_condition(), group_case_labels(), RVI::Insert_statement(), ip_normal_pos(), loop_niter_by_eval(), make_cond_expr_edges(), make_ctrl_stmt_edges(), make_edges(), make_exit_edges(), make_switch_expr_edges(), mark_control_dependent_edges_necessary(), may_eliminate_iv(), minmax_replacement(), ANL_REGION_CONSTRUCT::Next_Stmt(), number_of_iterations_exit(), GTABLE::Patch_Do_While(), Post_loop_peeling(), Pre_loop_peeling(), remove_empty_loop(), rewrite_use_outer(), should_duplicate_loop_header_p(), simplify_using_entry_checks(), simplify_using_initial_conditions(), standard_iv_increment_position(), stmt_after_ip_normal_pos(), tree_block_ends_with_condjump_p(), tree_can_merge_blocks_p(), tree_cfg2vcg(), tree_estimate_probability(), tree_flow_call_edges_add(), tree_may_unswitch_on(), tree_merge_blocks(), tree_nrv(), tree_optimize_tail_calls_1(), tree_predict_by_opcode(), tree_purge_dead_abnormal_call_edges(), tree_purge_dead_eh_edges(), tree_ssa_forward_propagate_single_use_vars(), tree_ssa_iv_optimize_loop(), tree_ssa_phiopt(), tree_unroll_loop(), tree_unswitch_single_loop(), try_unroll_loop_completely(), value_replacement(), VEC(), workshare_safe_to_combine_p(), ANL_REGION_CONSTRUCT::Write(), and ANL_LOOP_CONSTRUCT::Write().
| tree* last_stmt_ptr | ( | basic_block | ) |
Definition at line 2843 of file tree-cfg.c.
References bsi_end_p(), bsi_last(), bsi_stmt_ptr(), last, and NULL.
Definition at line 243 of file tree-loop-linear.c.
References after, before, compute_data_dependences_for_loop(), compute_immediate_uses(), DDR_ARE_DEPENDENT, DDR_DIR_VECT, DDR_DIST_VECT, DDR_SIZE_VECT, dump_ddrs(), dump_file, dump_flags, flow_loop_scan(), fprintf(), free_data_refs(), free_dependence_relations(), free_df(), gcc_loopnest_to_lambda_loopnest(), i, loop::inner, invariants, lambda_loopnest_to_gcc_loopnest(), lambda_loopnest_transform(), lambda_matrix_id(), lambda_trans_matrix_id_p(), lambda_trans_matrix_new(), lambda_transform_legal_p(), LOOP_ALL, loop_nest, LTM_MATRIX, modified, loop::next, NULL, NULL_TREE, loops::num, loop::num_exits, loops::parray, perfect_nest_p(), print_lambda_loopnest(), print_lambda_vector(), problem, rewrite_into_loop_closed_ssa(), rewrite_into_ssa(), scev_reset(), loop::single_exit, TDF_DETAILS, TDFA_USE_OPS, TDFA_USE_VOPS, TODO_update_ssa_full_phi, try_interchange_loops(), VARRAY_ACTIVE_SIZE, VARRAY_GENERIC_PTR, VARRAY_GENERIC_PTR_INIT, varray_type, VEC, VEC_alloc, VEC_free, VEC_truncate, and verify_loop_closed_ssa().
| int lookup_stmt_eh_region | ( | tree | ) |
Definition at line 156 of file tree-eh.c.
References cfun, htab_find(), lookup_stmt_eh_region_fn(), n, and p.
Definition at line 641 of file tree-ssa-loop-im.c.
References add_bb_to_loop(), BASIC_BLOCK, bsi_commit_edge_inserts(), dest, EDGE_PRED, EDGE_SUCC, find_common_loop(), i, last_basic_block, single_pred(), single_succ(), src, and unsigned.
| int loop_depth_of_name | ( | tree | ) |
Definition at line 1091 of file tree-ssa-dom.c.
References bb_for_stmt(), basic_block_def::loop_depth, SSA_NAME, SSA_NAME_DEF_STMT, and TREE_CODE.
Definition at line 990 of file tree-ssa-loop-niter.c.
References boolean_type_node, build2, build_int_cst(), chrec_dont_know, tree_niter_desc::cmp, cond, COND_EXPR_COND, dump_file, dump_flags, EDGE_TRUE_VALUE, edge::flags, fold(), fold_binary(), fold_defer_overflow_warnings(), fold_undefer_and_ignore_overflow_warnings(), fprintf(), get_base_for(), get_val_for(), i, invert_truthvalue(), is_gimple_min_invariant(), last_stmt(), loop_latch_edge(), loop_preheader_edge(), MAX_ITERATIONS_TO_TRACK, next, NULL_TREE, loop::num, PHI_ARG_DEF_FROM_EDGE, edge::src, TDF_DETAILS, TREE_CODE, TREE_OPERAND, unsigned_type_node, val, and zero_p().
| void make_abnormal_goto_edges | ( | basic_block | , | |
| bool | ||||
| ) |
Definition at line 853 of file tree-cfg.c.
References bsi_end_p(), bsi_next(), bsi_start(), bsi_stmt(), DECL_NONLOCAL, EDGE_ABNORMAL, FOR_EACH_BB, FORCED_LABEL, LABEL_EXPR_LABEL, make_edge(), target, and TREE_CODE.
Referenced by execute_fixup_cfg(), make_edges(), and make_goto_expr_edges().
Definition at line 1736 of file tree-eh.c.
References foreach_reachable_handler(), lookup_stmt_eh_region(), make_eh_edge(), TREE_CODE, TREE_INT_CST_LOW, and TREE_OPERAND.
Referenced by copy_edges_for_bb(), make_ctrl_stmt_edges(), make_edges(), and make_exit_edges().
Definition at line 472 of file tree-dfa.c.
References add_referenced_tmp_var(), add_referenced_var(), bitmap_set_bit(), COMPLEX_TYPE, create_tmp_var, DECL_COMPLEX_GIMPLE_REG_P, mark_sym_for_renaming(), referenced_vars, TREE_CODE, var_ann(), and vars_to_rename.
Referenced by abs_replacement(), conditional_replacement(), expand_complex_div_wide(), gimplify_val(), insert_reciprocals(), instantiate_element(), and schedule_sm().
Definition at line 764 of file tree-dfa.c.
References BITMAP_ALLOC, BITMAP_FREE, bitmap_set_bit(), DECL_P, DECL_UID, FOR_EACH_SSA_TREE_OPERAND, get_stmt_ann(), iter, mark_set_for_renaming(), mark_sym_for_renaming(), NULL, NUM_SSA_OPERANDS, SSA_NAME_VAR, SSA_OP_ALL_OPERANDS, SSA_OP_VMAYDEF, SSA_OP_VMUSTDEF, SSA_OP_VUSE, TREE_CODE, update_stmt(), and val.
Definition at line 2632 of file tree-into-ssa.c.
References bitmap_empty_p, bitmap_ior_into(), EXECUTE_IF_SET_IN_BITMAP, i, init_update_ssa(), is_gimple_reg(), need_to_initialize_update_ssa_p, need_to_update_vops_p, and referenced_var.
Referenced by decide_instantiations(), and mark_new_vars_to_rename().
Definition at line 2617 of file tree-into-ssa.c.
References bitmap_set_bit(), DECL_UID, init_update_ssa(), is_gimple_reg(), need_to_initialize_update_ssa_p, and need_to_update_vops_p.
Referenced by add_virtual_phis(), create_global_var(), create_name_tags(), find_global_initializers(), find_new_referenced_vars_1(), make_rename_temp(), mark_all_v_defs_1(), mark_new_vars_to_rename(), maybe_create_global_var(), perfect_nestify(), recalculate_used_alone(), remove_dead_stmt(), rewrite_mem_refs(), set_pt_anything(), setup_pointers_and_addressables(), update_all_vops(), vect_transform_loop(), and vectorizable_store().
Definition at line 2708 of file tree-ssa-alias.c.
References i, may_aliases(), pointer_set_contains(), pointer_set_create(), pointer_set_destroy(), pointer_set_insert(), sym, VEC, and VEC_iterate.
Referenced by ptr_ptr_may_alias_p().
Definition at line 2515 of file tree-ssa-alias.c.
References current_function_decl, DECL_EXTERNAL, decl_function_context(), MTAG_GLOBAL, MTAG_P, TREE_ADDRESSABLE, TREE_PUBLIC, and TREE_STATIC.
Definition at line 61 of file tree-ssa-copy.c.
References bitmap_intersect_p(), gcc_assert, get_alias_set(), is_gimple_reg(), POINTER_TYPE_P, SSA_NAME, SSA_NAME_OCCURS_IN_ABNORMAL_PHI, SSA_NAME_PTR_INFO, SSA_NAME_VAR, TREE_CODE, tree_ssa_useless_type_conversion_1(), TREE_TYPE, and var_ann().
Definition at line 161 of file tree-ssa-copy.c.
References DECL_HARD_REGISTER, SSA_NAME, SSA_NAME_VAR, and TREE_CODE.
Definition at line 2062 of file tree-eh.c.
References add_stmt_to_eh_region(), lookup_stmt_eh_region(), remove_stmt_from_eh_region(), and tree_could_throw_p().
Referenced by eliminate(), execute_fold_all_builtins(), expand_call_inline(), optimize_stmt(), propagate_rhs_into_lhs(), replace_uses_by(), substitute_and_fold(), and tidy_after_forward_propagate_addr().
Definition at line 708 of file tree-ssa-address.c.
References mem_address::base, changed, copy_mem_ref_info(), create_mem_ref_raw(), fold_binary_to_constant(), fold_convert(), get_address_description(), mem_address::index, NULL_TREE, mem_address::offset, ret, sizetype, mem_address::step, TREE_CODE, and TREE_TYPE.
Referenced by fold_stmt_r().
Definition at line 184 of file tree-ssa-copy.c.
References bitmap_intersect_p(), gcc_assert, get_alias_set(), NULL_TREE, POINTER_TYPE_P, SSA_NAME_PTR_INFO, SSA_NAME_VAR, TREE_TYPE, and var_ann().
| basic_block move_sese_region_to_fn | ( | struct function * | , | |
| basic_block | , | |||
| basic_block | ||||
| ) |
Definition at line 4865 of file tree-cfg.c.
References after, BITMAP_ALLOC, bitmap_bit_p(), bitmap_empty_p, BITMAP_FREE, calculate_dominance_info(), CDI_DOMINATORS, CDI_POST_DOMINATORS, cfun, create_empty_bb(), DECL_UID, edge::dest, dominated_by_p(), duplicate_eh_regions(), EDGE_COUNT, EDGE_FALLTHRU, ei_safe_edge(), ei_start, ENTRY_BLOCK_PTR, EXIT_BLOCK_PTR, find_outermost_region_in_block(), edge::flags, free(), free_dominance_info(), function, gather_blocks_in_sese_region(), gcc_assert, htab_create(), htab_delete(), i, init_eh_for_function(), init_empty_tree_cfg(), make_edge(), move_block_to_fn(), new_label_mapper(), NULL, p, region, remove_edge(), edge::src, TREE_CHAIN, tree_map_eq(), tree_map_hash(), TREE_VALUE, VEC, VEC_free, VEC_iterate, VEC_length, VEC_safe_push, and xcalloc().
Referenced by expand_omp_parallel().
Definition at line 217 of file tree-ssa-loop-im.c.
References flag_unswitch_loops, get_call_expr_in(), get_stmt_operands(), MOVE_IMPOSSIBLE, MOVE_POSSIBLE, MOVE_PRESERVE_EXECUTION, SSA_NAME, SSA_NAME_OCCURS_IN_ABNORMAL_PHI, stmt_ann(), stmt_ends_bb_p(), TREE_CODE, tree_could_trap_p(), TREE_OPERAND, and TREE_SIDE_EFFECTS.
| bool multiplier_allowed_in_address_p | ( | HOST_WIDE_INT | ) |
Definition at line 3324 of file tree-ssa-loop-ivopts.c.
References addr(), dump_file, dump_flags, fprintf(), gen_int_mode(), gen_raw_REG(), gen_rtx_fmt_ee(), HOST_WIDE_INT, LAST_VIRTUAL_REGISTER, MAX_RATIO, memory_address_p(), NULL_RTX, Pmode, sbitmap_alloc(), sbitmap_zero(), SET_BIT, TDF_DETAILS, TEST_BIT, and XEXP.
Referenced by get_address_cost(), and most_expensive_mult_to_index().
| unsigned multiply_by_cost | ( | HOST_WIDE_INT | , | |
| enum | machine_mode | |||
| ) |
Definition at line 3284 of file tree-ssa-loop-ivopts.c.
References mbc_entry::cst, dump_file, dump_flags, end_sequence(), expand_mult(), fprintf(), free(), gen_int_mode(), gen_raw_REG(), get_insns(), GET_MODE_NAME, htab_create(), htab_find_slot(), INSERT, LAST_VIRTUAL_REGISTER, mbc_entry_eq(), mbc_entry_hash(), mbc_entry::mode, NULL_RTX, seq_cost(), start_sequence(), TDF_DETAILS, and XNEW.
Definition at line 2666 of file tree-into-ssa.c.
References is_new_name(), is_old_name(), need_ssa_update_p(), SSA_NAME_VAR, and symbol_marked_for_renaming().
Referenced by release_ssa_name().
Definition at line 2657 of file tree-into-ssa.c.
Referenced by delete_tree_ssa(), dump_update_ssa(), execute_todo(), move_computations(), name_registered_for_update_p(), slpeel_can_duplicate_loop_p(), tree_can_merge_blocks_p(), tree_duplicate_sese_region(), update_ssa(), and verify_ssa().
| struct omp_region* new_omp_region | ( | basic_block | , | |
| enum | tree_code, | |||
| struct omp_region * | ||||
| ) | [read] |
Definition at line 759 of file omp-low.c.
References omp_region::entry, omp_region::inner, omp_region::next, omp_region::outer, region, omp_region::type, and xcalloc().
Referenced by build_omp_regions_1(), and make_edges().
Definition at line 2782 of file tree-ssa-alias.c.
References add_may_alias(), add_may_alias_for_new_tag(), create_memory_tag(), dump_file, dump_flags, fprintf(), gcc_assert, get_ref_base_and_extent(), get_subvars_for_var(), HOST_WIDE_INT, is_global_var(), len, MTAG_GLOBAL, MTAG_P, NULL, NULL_TREE, offset, overlap_subvar(), size, TDF_DETAILS, TREE_READONLY, TREE_TYPE, var_ann(), var_can_have_subvars(), VEC, VEC_index, VEC_iterate, VEC_length, and VEC_safe_push.
Referenced by vect_create_data_ref_ptr().
Definition at line 1742 of file tree-cfg.c.
References call_expr_flags(), current_function_calls_alloca, current_function_calls_setjmp, ECF_MAY_BE_ALLOCA, ECF_RETURNS_TWICE, and flags.
Referenced by eliminate_unnecessary_stmts(), and remove_useless_stmts_1().
Definition at line 1971 of file tree-ssa-loop-niter.c.
References INTEGRAL_TYPE_P, POINTER_TYPE_P, and TYPE_OVERFLOW_UNDEFINED.
Referenced by convert_affine_scev(), and scev_probably_wraps_p().
Definition at line 1045 of file tree-ssa-loop-niter.c.
References tree_niter_desc::additional_info, tree_niter_desc::assumptions, affine_iv::base, boolean_false_node, boolean_true_node, CDI_DOMINATORS, cond, COND_EXPR_COND, dominated_by_p(), EDGE_TRUE_VALUE, expand_simple_operations(), EXPR_LOCATION, edge::flags, fold_defer_overflow_warnings(), fold_undefer_and_ignore_overflow_warnings(), gettext, integer_all_onesp(), integer_onep(), integer_zerop(), invert_truthvalue(), last_stmt(), loop::latch, LOCATION_LINE, loop_only_exit_p(), tree_niter_desc::may_be_zero, N_, tree_niter_desc::niter, number_of_iterations_cond(), optimize, POINTER_TYPE_P, simple_iv(), simplify_using_initial_conditions(), simplify_using_outer_evolutions(), edge::src, affine_iv::step, TREE_CODE, TREE_OPERAND, TREE_TYPE, warning, and zero_p().
| static bool overlap_subvar | ( | unsigned | HOST_WIDE_INT, | |
| unsigned | HOST_WIDE_INT, | |||
| tree | , | |||
| bool * | ||||
| ) | [inline, static] |
| static tree phi_nodes | ( | basic_block | ) | [inline, static] |
| bool potentially_threadable_block | ( | basic_block | ) |
Definition at line 57 of file tree-ssa-threadedge.c.
References bsi_end_p(), bsi_last(), bsi_stmt(), single_pred_p(), single_succ_p(), and TREE_CODE.
Referenced by dom_opt_finalize_block(), and identify_jump_threads().
Definition at line 5307 of file tree-cfg.c.
References BASIC_BLOCK, basic_block_def::loop_father, NUM_FIXED_BLOCKS, and print_loop().
Referenced by debug_loop_ir(), and number_of_iterations_for_all_loops().
Definition at line 819 of file tree-ssa-pre.c.
References print_value_set(), s, sprintf(), VALUE_HANDLE_EXPR_SET, and VALUE_HANDLE_ID.
Definition at line 283 of file tree-ssa-copy.c.
References gcc_assert, may_propagate_copy(), merge_alias_info(), POINTER_TYPE_P, SSA_NAME, TREE_CODE, TREE_TYPE, and unsave_expr_now().
| void propagate_value | ( | use_operand_p | , | |
| tree | ||||
| ) |
| int push_fields_onto_fieldstack | ( | tree | , | |
| VEC(fieldoff_s, heap)** | , | |||
| HOST_WIDE_INT | , | |||
| bool * | ||||
| ) |
Definition at line 3689 of file tree-ssa-structalias.c.
References AGGREGATE_TYPE_P, bitpos_of_field(), COMPLEX_TYPE, count, fieldoff::decl, DECL_SIZE, host_integerp(), HOST_WIDE_INT, i, integer_zerop(), nr, NULL, NULL_TREE, fieldoff::offset, push(), push_fields_onto_fieldstack(), SALIAS_MAX_ARRAY_ELEMENTS, fieldoff::size, sz(), TREE_CHAIN, TREE_CODE, TREE_INT_CST_LOW, TREE_TYPE, fieldoff::type, TYPE_FIELDS, TYPE_SIZE, var_can_have_subvars(), and VEC_safe_push.
Referenced by create_overlap_variables_for(), create_variable_info_for(), and push_fields_onto_fieldstack().
Definition at line 452 of file tree-ssa-alias.c.
References bsi_end_p(), bsi_next(), bsi_start(), bsi_stmt(), FOR_EACH_BB, FOR_EACH_REFERENCED_VAR, FOR_EACH_SSA_TREE_OPERAND, i, iter, lhs_may_store_to(), mark_sym_for_renaming(), NULL, SMT_OLD_USED_ALONE, SMT_USED_ALONE, SSA_NAME, SSA_NAME_VAR, SSA_OP_VIRTUAL_DEFS, SSA_OP_VUSE, TREE_CODE, TREE_OPERAND, update_stmt(), VEC, VEC_free, VEC_iterate, and VEC_safe_push.
Referenced by compute_may_aliases(), and execute_todo().
Definition at line 517 of file gimple-low.c.
References cfun, current_function_decl, DECL_EXTERNAL, NULL_TREE, record_vars_into(), TREE_CHAIN, TREE_CODE, and tree_cons.
Referenced by gimple_add_tmp_var(), lower_bind_expr(), and pop_gimplify_context().
Definition at line 719 of file gimple-low.c.
References cfun, current_function_decl, DECL_EXTERNAL, DECL_STRUCT_FUNCTION, function, NULL_TREE, TREE_CHAIN, TREE_CODE, and tree_cons.
Referenced by lower_omp_for(), lower_omp_parallel(), lower_omp_sections(), and record_vars().
Definition at line 625 of file tree-dfa.c.
References DECL_UID, gcc_assert, GGC_NEW, h, htab_find_slot_with_hash(), htab_find_with_hash(), in, INSERT, and referenced_vars.
Referenced by add_referenced_var(), and find_global_initializers().
| tree referenced_var_lookup | ( | unsigned | int | ) |
Definition at line 610 of file tree-dfa.c.
References gcc_assert, h, htab_find_with_hash(), in, NULL_TREE, and referenced_vars.
Referenced by add_call_clobber_ops().
Definition at line 906 of file tree-ssa-threadupdate.c.
References NULL, VEC_alloc, and VEC_safe_push.
Referenced by thread_across_edge().
Definition at line 1232 of file tree-into-ssa.c.
References get_current_def(), get_phi_state(), NEED_PHI_STATE_NO, set_current_def(), SSA_NAME_VAR, def_blocks_d::var, and VEC_safe_push.
Definition at line 2605 of file tree-into-ssa.c.
References add_new_name_mapping(), init_update_ssa(), and need_to_initialize_update_ssa_p.
Referenced by build_assert_expr_for(), and create_new_def_for().
Definition at line 2697 of file tree-into-ssa.c.
References BITMAP_ALLOC, bitmap_set_bit(), gcc_assert, need_to_initialize_update_ssa_p, NULL, and SSA_NAME_VERSION.
Referenced by release_ssa_name().
Definition at line 568 of file tree-ssa-loop-ivcanon.c.
References changed, loop::inner, loop::next, scev_reset(), TODO_cleanup_cfg, loops::tree_root, and try_remove_empty_loop().
Referenced by tree_ssa_empty_loop().
Definition at line 393 of file tree-phinodes.c.
References edge::dest, PHI_CHAIN, phi_nodes(), and remove_phi_arg_num().
Definition at line 446 of file tree-phinodes.c.
References bb_for_stmt(), PHI_CHAIN, phi_nodes(), PHI_RESULT, release_phi_node(), and release_ssa_name().
Definition at line 136 of file tree-eh.c.
References cfun, htab_clear_slot(), htab_find_slot(), NO_INSERT, and remove_stmt_from_eh_region_fn().
Referenced by bsi_remove(), bsi_replace(), execute_fixup_cfg(), maybe_clean_eh_stmt(), maybe_clean_or_replace_eh_stmt(), and move_block_to_fn().
Definition at line 338 of file tree-ssa-live.c.
References bsi_end_p(), bsi_next(), bsi_start(), bsi_stmt_ptr(), cfun, FOR_EACH_BB, FOR_EACH_PHI_ARG, i, is_global_var(), mark_all_vars_used(), PHI_CHAIN, phi_nodes(), PHI_RESULT, SSA_NAME_VAR, SSA_OP_ALL_USES, TREE_CHAIN, TREE_CODE, TREE_VALUE, USE_FROM_PTR, use_operand_p, and var_ann().
Referenced by execute_todo().
| void replace_exp | ( | use_operand_p | , | |
| tree | ||||
| ) |
Definition at line 1250 of file tree-cfg.c.
References current_loops, edge_to_cases_elt::e, EDGE_ABNORMAL, edge::flags, fold_stmt_inplace(), FOR_EACH_IMM_USE_ON_STMT, FOR_EACH_IMM_USE_STMT, gcc_assert, get_rhs(), i, is_gimple_reg(), mark_new_vars_to_rename(), maybe_clean_or_replace_eh_stmt(), loops::num, num_imm_uses(), loops::parray, PHI_ARG_EDGE, PHI_ARG_INDEX_FROM_USE, recompute_tree_invariant_for_addr_expr(), replace_exp(), SSA_NAME_OCCURS_IN_ABNORMAL_PHI, substitute_in_loop_info(), TREE_CODE, and use_operand_p.
Referenced by scev_const_prop(), and tree_merge_blocks().
| void reserve_phi_args_for_new_edge | ( | basic_block | ) |
Definition at line 276 of file tree-phinodes.c.
References bb_ann(), EDGE_COUNT, ideal_phi_node_len(), len, NULL_TREE, PHI_ARG_CAPACITY, PHI_CHAIN, phi_nodes(), PHI_NUM_ARGS, PHI_RESULT, release_phi_node(), resize_phi_node(), SET_PHI_ARG_DEF, and SSA_NAME_DEF_STMT.
Definition at line 355 of file tree-ssa-loop-manip.c.
References add_exit_phis(), BITMAP_ALLOC, BITMAP_FREE, find_uses_to_rename(), free(), get_loops_exits(), i, NULL, num_ssa_names, TODO_update_ssa, update_ssa(), and XCNEWVEC.
| enum ev_direction scev_direction | ( | tree | ) |
Definition at line 1382 of file tree-chrec.c.
References CHREC_RIGHT, EV_DIR_DECREASES, EV_DIR_GROWS, EV_DIR_UNKNOWN, evolution_function_is_affine_p(), step(), TREE_CODE, and tree_int_cst_sign_bit().
Referenced by adjust_range_with_scev().
Definition at line 1994 of file tree-ssa-loop-niter.c.
References nb_iter_bound::bound, loop::bounds, chrec_contains_undetermined(), estimate_numbers_of_iterations_loop(), fold_build1, fold_build2, fold_convert(), fold_defer_overflow_warnings(), fold_undefer_and_ignore_overflow_warnings(), lower_bound_in_type(), n_of_executions_at_most(), nb_iter_bound::next, nowrap_type_p(), TREE_CODE, tree_int_cst_sign_bit(), TREE_TYPE, unsigned_type(), unsigned_type_for(), upper_bound_in_type(), and zero_p().
Referenced by adjust_range_with_scev(), and convert_affine_scev().
| void set_bb_for_stmt | ( | tree | , | |
| basic_block | ||||
| ) |
Definition at line 2886 of file tree-cfg.c.
References addr(), cfun, gcc_assert, get_stmt_ann(), i, LABEL_DECL_UID, LABEL_EXPR_LABEL, label_to_block_map, memset, PHI_BB, set_bb_for_stmt(), TREE_CODE, tsi_end_p(), tsi_next(), tsi_start(), tsi_stmt(), VARRAY_BB, VARRAY_GROW, VARRAY_SIZE, VEC_address, VEC_index, VEC_length, VEC_replace, and VEC_safe_grow.
Referenced by bsi_insert_after(), bsi_insert_before(), bsi_remove(), bsi_replace(), combine_blocks(), create_phi_node(), make_blocks(), remove_bb(), replace_phi_with_cond_modify_expr(), set_bb_for_stmt(), set_phi_nodes(), and tree_merge_blocks().
Definition at line 345 of file tree-into-ssa.c.
References ssa_name_info::current_def, get_ssa_name_ann(), SSA_NAME, TREE_CODE, and var_ann().
Definition at line 670 of file tree-dfa.c.
References DECL_UID, default_def(), default_defs, gcc_assert, GGC_NEW, h, htab_find_slot_with_hash(), htab_remove_elt(), INSERT, SSA_NAME, SSA_VAR_P, and TREE_CODE.
| static void set_phi_nodes | ( | basic_block | , | |
| tree | ||||
| ) | [inline, static] |
Definition at line 2665 of file tree-cfg.c.
References GOTO_DESTINATION, and TREE_CODE.
Referenced by lower_cond_expr(), make_goto_expr_edges(), mark_stmt_if_obviously_necessary(), and tree_verify_flow_info().
Definition at line 5094 of file tree-vrp.c.
References COMPARISON_CLASS_P, COND_EXPR_COND, integer_pow2p(), INTEGRAL_TYPE_P, simplify_abs_using_ranges(), simplify_cond_using_ranges(), simplify_div_or_mod_using_ranges(), SSA_NAME, TREE_CODE, TREE_OPERAND, and TREE_TYPE.
Referenced by substitute_and_fold().
Definition at line 350 of file tree-ssa-loop-ivopts.c.
References exit(), just_once_each_iteration_p(), NULL, loop::single_exit, and edge::src.
| basic_block single_noncomplex_succ | ( | basic_block | bb | ) |
Definition at line 1402 of file tree-cfg.c.
References edge::dest, EDGE_COMPLEX, EDGE_COUNT, EDGE_SUCC, and edge::flags.
Referenced by compute_merit().
| void sort_fieldstack | ( | VEC(fieldoff_s, heap)* | ) |
Definition at line 3672 of file tree-ssa-structalias.c.
References fieldoff_compare(), qsort(), VEC_address, and VEC_length.
Referenced by create_overlap_variables_for(), and create_variable_info_for().
Definition at line 387 of file tree-vn.c.
References qsort(), VEC_address, VEC_length, and vuses_compare().
Referenced by VEC(), vn_lookup_or_add(), and vn_lookup_or_add_with_vuses().
Definition at line 401 of file tree-ssa-loop-manip.c.
References add_phi_arg(), create_phi_node(), dest, edge::dest, duplicate_ssa_name(), EDGE_SUCC, loop_split_edge_with(), NULL, PHI_ARG_DEF_PTR_FROM_EDGE, PHI_CHAIN, phi_nodes(), SET_USE, single_succ_edge(), SSA_NAME, SSA_NAME_DEF_STMT, TREE_CODE, USE_FROM_PTR, and use_operand_p.
Definition at line 2296 of file tree-sra.c.
References BITMAP_ALLOC, NULL, sra_type_decomp_cache, and sra_type_inst_cache.
Referenced by tree_sra().
| void sra_insert_after | ( | block_stmt_iterator * | , | |
| tree | ||||
| ) |
Definition at line 1931 of file tree-sra.c.
References annotate_all_with_locus(), block_stmt_iterator::bb, bsi_insert_after(), BSI_SAME_STMT, bsi_stmt(), EXPR_HAS_LOCATION, EXPR_LOCATION, insert_edge_copies(), and stmt_ends_bb_p().
| void sra_insert_before | ( | block_stmt_iterator * | , | |
| tree | ||||
| ) |
Definition at line 1919 of file tree-sra.c.
References annotate_all_with_locus(), bsi_insert_before(), BSI_SAME_STMT, bsi_stmt(), EXPR_HAS_LOCATION, and EXPR_LOCATION.
Definition at line 230 of file tree-sra.c.
References bitmap_bit_p(), bitmap_set_bit(), COMPLEX_TYPE, DECL_BIT_FIELD, DECL_SIZE, fail, integer_zerop(), NULL, sra_type_decomp_cache, TREE_CHAIN, TREE_CODE, TREE_CONSTANT, tree_low_cst(), TREE_TYPE, TYPE_DOMAIN, TYPE_FIELDS, TYPE_MAIN_VARIANT, TYPE_MAX_VALUE, TYPE_MIN_VALUE, TYPE_PRECISION, TYPE_SIZE, and TYPE_UID.
Referenced by decl_can_be_decomposed_p(), and type_can_instantiate_all_elements().
Definition at line 2680 of file tree-into-ssa.c.
References BITMAP_ALLOC, bitmap_set_bit(), EXECUTE_IF_SET_IN_SBITMAP, i, NULL, and ret.
Referenced by slpeel_tree_peel_loop_to_edge().
| edge ssa_redirect_edge | ( | edge | , | |
| basic_block | ||||
| ) |
Definition at line 54 of file tree-ssa.c.
References build_tree_list, edge::dest, dst, last, next, node, NULL, NULL_TREE, PENDING_STMT, PHI_ARG_DEF, PHI_CHAIN, phi_nodes(), PHI_RESULT, redirect_edge_succ_nodup(), src, and TREE_CHAIN.
| void standard_iv_increment_position | ( | struct loop * | , | |
| block_stmt_iterator * | , | |||
| bool * | ||||
| ) |
Definition at line 498 of file tree-ssa-loop-manip.c.
References bsi_last(), ip_end_pos(), ip_normal_pos(), last, last_stmt(), loop::latch, and TREE_CODE.
Definition at line 693 of file tree-cfg.c.
References edge_to_cases, edge_to_cases_cleanup(), edge_to_cases_eq(), edge_to_cases_hash(), gcc_assert, htab_create(), and NULL.
| static stmt_ann_t stmt_ann | ( | tree | ) | [inline, static] |
Definition at line 2718 of file tree-cfg.c.
References is_ctrl_altering_stmt(), and is_ctrl_stmt().
Referenced by infer_value_range(), init_copy_prop(), init_dont_simulate_again(), insert_backedge_copies(), make_blocks(), make_edges(), movement_possibility(), process_assert_insertions_for(), scalarize_ldst(), simulate_stmt(), sra_insert_after(), statement_sink_location(), tree_can_merge_blocks_p(), tree_find_edge_insert_loc(), tree_merge_blocks(), and tree_verify_flow_info().
Definition at line 878 of file tree-ssa.c.
References get_stmt_operands(), NUM_V_MAY_DEFS, NUM_V_MUST_DEFS, NUM_VUSES, SSA_OP_ALL_VIRTUALS, stmt_ann(), V_MAY_DEF_OPS, V_MUST_DEF_OPS, VUSE_OPS, and ZERO_SSA_OPERANDS.
Definition at line 2114 of file tree-ssa-loop-niter.c.
References loop::estimated_nb_iterations, loop::nb_iterations, and simplify_replace_tree().
Referenced by replace_uses_by().
Definition at line 2351 of file tree-ssa-operands.c.
Referenced by canonicalize_comparison(), linearize_expr_tree(), and vect_is_simple_reduction().
Definition at line 494 of file tree-ssa-threadedge.c.
References bb_for_stmt(), bsi_last(), bsi_stmt(), cond, dest, edge::dest, EDGE_DFS_BACK, fail, find_taken_edge(), edge::flags, FOR_EACH_SSA_USE_OPERAND, is_gimple_min_invariant(), iter, last, NULL, record_temporary_equivalences_from_phis(), record_temporary_equivalences_from_stmts_at_dest(), register_jump_thread(), remove_temporary_equivalences(), simplify(), simplify_control_stmt_condition(), SSA_NAME, SSA_NAME_DEF_STMT, SSA_OP_USE, SSA_OP_VUSE, stmt_count, TREE_CODE, USE_FROM_PTR, and use_operand_p.
Definition at line 556 of file tree-ssa-threadupdate.c.
References BASIC_BLOCK, bb_ann(), BITMAP_ALLOC, BITMAP_FREE, dump_file, dump_flags, EDGE_COUNT, EXECUTE_IF_SET_IN_BITMAP, FOR_EACH_BB, fprintf(), i, mark_threaded_blocks(), memset, NULL, TDF_STATS, thread_block(), thread_stats, and VEC_free.
Referenced by finalize_jump_threads(), and tree_ssa_dominator_optimize().
| tree tree_block_label | ( | basic_block | ) |
Definition at line 4428 of file tree-cfg.c.
References bsi_end_p(), bsi_insert_before(), bsi_move_before(), BSI_NEW_STMT, bsi_next(), bsi_start(), bsi_stmt(), build1, create_artificial_label(), DECL_NONLOCAL, first, i, LABEL_EXPR_LABEL, s, TREE_CODE, and void_type_node.
Referenced by compute_phi_arg_on_exit(), construct_init_block(), disband_implicit_edges(), expand_complex_div_wide(), expand_omp_for_generic(), expand_omp_for_static_chunk(), expand_omp_for_static_nochunk(), expand_omp_sections(), lv_adjust_loop_entry_edge(), mf_build_check_statement_for(), perfect_nestify(), propagate_into_addr(), scev_const_prop(), slpeel_add_loop_guard(), slpeel_make_loop_iterate_ntimes(), tree_lv_add_condition_to_bb(), tree_redirect_edge_and_branch(), and tree_unroll_loop().
Definition at line 2551 of file tree-cfg.c.
References computed_goto_p(), current_function_has_nonlocal_label, TREE_CODE, TREE_OPERAND, and TREE_SIDE_EFFECTS.
Referenced by execute_fixup_cfg(), make_edges(), and tree_purge_dead_abnormal_call_edges().
Definition at line 1939 of file tree-eh.c.
References can_throw_external_1(), lookup_stmt_eh_region(), TREE_CODE, tree_could_throw_p(), TREE_INT_CST_LOW, and TREE_OPERAND.
Definition at line 1930 of file tree-eh.c.
References can_throw_internal_1(), lookup_stmt_eh_region(), TREE_CODE, TREE_INT_CST_LOW, and TREE_OPERAND.
Referenced by copy_edges_for_bb(), is_ctrl_altering_stmt(), tree_purge_dead_eh_edges(), and verify_stmt().
| static tree_ann_common_t tree_common_ann | ( | tree | ) | [inline, static] |
Definition at line 1908 of file tree-eh.c.
References call_expr_flags(), ECF_NOTHROW, flag_exceptions, flag_non_call_exceptions, TREE_CODE, tree_could_trap_p(), and TREE_OPERAND.
Referenced by copy_bb(), execute_fixup_cfg(), infer_value_range(), is_gimple_reg_rhs(), lower_eh_constructs_1(), mark_stmt_if_obviously_necessary(), maybe_clean_eh_stmt(), maybe_clean_or_replace_eh_stmt(), remove_useless_stmts_1(), tree_can_throw_external(), verify_eh_edges(), and verify_stmt().
Definition at line 1764 of file tree-eh.c.
References base, DECL_P, DECL_WEAK, flag_finite_math_only, flag_signaling_nans, flag_trapping_math, FLOAT_TYPE_P, get_callee_fndecl(), idx, in_array_bounds_p(), integer_zerop(), INTEGRAL_TYPE_P, range_in_array_bounds_p(), tcc_binary, tcc_comparison, tcc_unary, TMR_ORIGINAL, TREE_CODE, TREE_CODE_CLASS, TREE_CONSTANT, tree_could_trap_p(), TREE_OPERAND, TREE_THIS_NOTRAP, TREE_THIS_VOLATILE, TREE_TYPE, TYPE_OVERFLOW_TRAPS, and TYPE_TRAP_SIGNED.
Referenced by check_lhs_var(), check_rhs_var(), determine_lsm_ref(), determine_lsm_reg(), if_convertible_modify_expr_p(), movement_possibility(), tree_could_throw_p(), and tree_could_trap_p().
| void tree_dump_bb | ( | basic_block | , | |
| FILE * | , | |||
| int | ||||
| ) |
Definition at line 2390 of file tree-cfg.c.
References dump_generic_bb(), and TDF_VOPS.
Referenced by print_loop().
| bool tree_duplicate_loop_to_header_edge | ( | struct loop * | , | |
| edge | , | |||
| struct loops * | , | |||
| unsigned | int, | |||
| sbitmap | , | |||
| edge | , | |||
| edge * | , | |||
| unsigned int * | , | |||
| int | ||||
| ) |
Definition at line 584 of file tree-ssa-loop-manip.c.
References any_marked_for_rewrite_p(), BASIC_BLOCK, BITMAP_FREE, copy_phi_node_args(), duplicate_loop_to_header_edge(), flush_pending_stmts(), gcc_assert, i, last_basic_block, LOOPS_HAVE_PREHEADERS, LOOPS_HAVE_SIMPLE_LATCHES, marked_ssa_names(), rename_variables(), scev_reset(), set_phi_def_stmts(), loops::state, unmark_all_for_rewrite(), unsigned, and verify_loop_closed_ssa().
| bool tree_duplicate_sese_region | ( | edge | , | |
| edge | , | |||
| basic_block * | , | |||
| unsigned | , | |||
| basic_block * | ||||
| ) |
Definition at line 5007 of file tree-cfg.c.
References add_phi_arg(), add_phi_args_after_copy(), allocate_ssa_names(), any_marked_for_rewrite_p(), BITMAP_FREE, can_copy_bbs_p(), CDI_DOMINATORS, loop::copy, copy_bbs(), create_phi_node(), edge::dest, dominated_by_p(), EDGE_FREQUENCY, EXECUTE_IF_SET_IN_BITMAP, flush_pending_stmts(), free(), free_original_copy_tables(), gcc_assert, get_bb_copy(), get_bb_original(), get_dominated_by_region(), loop::header, htab_delete(), i, initialize_original_copy_tables(), iterate_fix_dominators(), loop::latch, marked_ssa_names(), n_basic_blocks, need_ssa_update_p(), NULL, loop::outer, redirect_edge_and_branch(), rewrite_to_new_ssa_names(), scale_bbs_frequencies_gcov_type(), scale_bbs_frequencies_int(), set_immediate_dominator(), split_edge_bb_loc(), edge::src, ssa_name, SSA_NAME_DEF_STMT, TODO_update_ssa, unmark_all_for_rewrite(), update_ssa(), xmalloc(), and XNEWVEC.
Referenced by copy_loop_headers().
Definition at line 5540 of file tree-cfg.c.
References BASIC_BLOCK, changed, EXECUTE_IF_SET_IN_BITMAP, i, and tree_purge_dead_eh_edges().
Referenced by eliminate_degenerate_phis(), fini_pre(), and tree_ssa_dominator_optimize().
| bool tree_purge_dead_abnormal_call_edges | ( | basic_block | ) |
Definition at line 5420 of file tree-cfg.c.
References CDI_DOMINATORS, changed, current_function_has_nonlocal_label, EDGE_ABNORMAL, ei_next(), ei_safe_edge(), ei_start, edge::flags, free_dominance_info(), last_stmt(), remove_edge(), tree_can_make_abnormal_goto(), and tree_purge_dead_eh_edges().
Referenced by expand_call_inline().
| bool tree_purge_dead_eh_edges | ( | basic_block | ) |
Definition at line 5495 of file tree-cfg.c.
References CDI_DOMINATORS, changed, EDGE_EH, ei_next(), ei_safe_edge(), ei_start, edge::flags, free_dominance_info(), last_stmt(), remove_edge(), and tree_can_throw_internal().
Referenced by execute_fixup_cfg(), execute_fold_all_builtins(), substitute_and_fold(), tidy_after_forward_propagate_addr(), tree_purge_all_dead_eh_edges(), tree_purge_dead_abnormal_call_edges(), and VEC().
Definition at line 5364 of file tree-ssa-loop-ivopts.c.
References dump_file, dump_flags, flow_loop_dump(), loop::inner, loop::next, NULL, loop::outer, TDF_DETAILS, loops::tree_root, tree_ssa_iv_optimize_finalize(), tree_ssa_iv_optimize_init(), tree_ssa_iv_optimize_loop(), verify_loop_closed_ssa(), and verify_stmts().
Definition at line 1462 of file tree-ssa-loop-im.c.
References determine_invariantness(), determine_lsm(), move_computations(), tree_ssa_lim_finalize(), and tree_ssa_lim_initialize().
Definition at line 748 of file tree-ssa-loop-manip.c.
References BB_IRREDUCIBLE_LOOP, edge::dest, EDGE_IRREDUCIBLE_LOOP, EDGE_PRED, EDGE_SUCC, exit(), extract_true_false_edges_from_block(), find_edge(), edge::flags, flush_pending_stmts(), loop::header, loop::inner, loop::latch, loop_preheader_edge(), loop_split_edge_with(), loopify(), lv_adjust_loop_entry_edge(), NULL, loop::single_exit, edge::src, and tree_duplicate_loop_to_header_edge().
Definition at line 1014 of file tree-ssa-loop-prefetch.c.
References build_function_type(), built_in_decls, BUILT_IN_NORMAL, const_ptr_type_node, DECL_IS_NOVOPS, dump_file, dump_flags, fprintf(), free_original_copy_tables(), gcc_assert, HAVE_prefetch, i, initialize_original_copy_tables(), loop_prefetch_arrays(), NULL, NULL_TREE, loop::num, loops::num, loops::parray, PREFETCH_BLOCK, scev_reset(), TDF_DETAILS, TODO_cleanup_cfg, tree_cons, and void_type_node.
Referenced by tree_ssa_loop_prefetch().
Definition at line 84 of file tree-ssa-loop-unswitch.c.
References CDI_DOMINATORS, changed, cleanup_tree_cfg_loop(), i, loop::inner, loop::num, loops::num, loops::parray, TODO_cleanup_cfg, tree_unswitch_single_loop(), verify_dominators(), and verify_loop_structure().
Definition at line 858 of file tree-ssa.c.
References TREE_CODE, TREE_OPERAND, tree_ssa_useless_type_conversion_1(), and TREE_TYPE.
Definition at line 779 of file tree-ssa.c.
References COMPLEX_TYPE, INTEGRAL_TYPE_P, POINTER_TYPE_P, simple_cst_equal(), TREE_CODE, tree_ssa_useless_type_conversion_1(), TREE_TYPE, TYPE_MAX_VALUE, TYPE_MIN_VALUE, TYPE_MODE, TYPE_PRECISION, TYPE_REF_CAN_ALIAS_ALL, TYPE_UNSIGNED, and TYPE_VOLATILE.
| void tree_unroll_loop | ( | struct loops * | , | |
| struct loop * | , | |||
| unsigned | , | |||
| edge | , | |||
| struct tree_niter_desc * | ||||
| ) |
Definition at line 840 of file tree-ssa-loop-manip.c.
References add_phi_arg(), add_referenced_var(), boolean_false_node, boolean_true_node, boolean_type_node, bsi_insert_after(), bsi_last(), BSI_NEW_STMT, build2, build_if_stmt(), CDI_DOMINATORS, COND_EXPR_COND, create_iv(), create_phi_node(), create_tmp_var, determine_exit_conditions(), DLTHE_FLAG_UPDATE_FREQ, EDGE_FALSE_VALUE, EDGE_IRREDUCIBLE_LOOP, EDGE_SUCC, EDGE_TRUE_VALUE, expected_loop_iterations(), edge::flags, free(), gcc_assert, loop::header, last_stmt(), loop::latch, loop_latch_edge(), loop_preheader_edge(), loop_split_edge_with(), loop_version(), make_edge(), make_ssa_name(), next, NULL, NULL_TREE, ok(), operand_equal_for_phi_arg_p(), PHI_ARG_DEF_FROM_EDGE, PHI_ARG_DEF_PTR_FROM_EDGE, PHI_CHAIN, phi_nodes(), REG_BR_PROB_BASE, sbitmap_alloc(), sbitmap_ones(), SET_USE, single_pred(), single_pred_edge(), edge::src, SSA_NAME, SSA_NAME_DEF_STMT, SSA_NAME_VAR, TODO_update_ssa, tree_block_label(), TREE_CODE, tree_duplicate_loop_to_header_edge(), TREE_TYPE, update_ssa(), update_stmt(), USE_FROM_PTR, use_operand_p, verify_dominators(), verify_flow_info(), verify_loop_closed_ssa(), and verify_loop_structure().
Referenced by loop_prefetch_arrays().
Definition at line 364 of file tree-ssa-loop-ivcanon.c.
References canonicalize_loop_induction_variables(), changed, loop::header, i, maybe_hot_bb_p(), loops::num, loops::parray, scev_reset(), TODO_cleanup_cfg, ul, UL_ALL, and UL_NO_GROWTH.
| void update_ssa | ( | unsigned | ) |
Definition at line 2948 of file tree-into-ssa.c.
References BITMAP_ALLOC, bitmap_empty_p, BITMAP_FREE, c, calculate_dominance_info(), CDI_DOMINATORS, compute_dominance_frontiers(), def_blocks, def_blocks_eq(), def_blocks_free(), def_blocks_hash(), delete_update_ssa(), dfs(), dump_file, dump_flags, dump_update_ssa(), ENTRY_BLOCK_PTR, EXECUTE_IF_SET_IN_BITMAP, EXECUTE_IF_SET_IN_SBITMAP, FOR_EACH_BB, fprintf(), free(), gcc_assert, htab_create(), htab_empty(), i, basic_block_def::index, insert_updated_phi_nodes_for(), last_basic_block, simple_bitmap_def::n_bits, nearest_common_dominator_for_set(), need_ssa_update_p(), NULL, NULL_TREE, num_ssa_names, PERCENT, phis, prepare_block_for_update(), prepare_names_to_update(), referenced_var, repl_tbl, rewrite_blocks(), sbitmap_alloc(), sbitmap_copy(), sbitmap_first_set_bit(), sbitmap_free, sbitmap_zero(), SET_BIT, set_current_def(), ssa_name, start_bb(), switch_virtuals_to_full_rewrite(), switch_virtuals_to_full_rewrite_p(), TDF_DETAILS, timevar_pop, timevar_push, tmp, TODO_update_ssa, TODO_update_ssa_full_phi, TODO_update_ssa_no_phi, TODO_update_ssa_only_virtuals, VEC_alloc, VEC_free, VEC_index, VEC_replace, and XNEWVEC.
Referenced by add_virtual_phis(), execute_todo(), execute_vrp(), insert_range_assertions(), rewrite_into_loop_closed_ssa(), tree_duplicate_sese_region(), tree_ssa_dominator_optimize(), tree_unroll_loop(), tree_unswitch_single_loop(), try_unroll_loop_completely(), and vect_transform_loop().
| static VEC | ( | tree | , | |
| gc | ||||
| ) | [inline, static] |
Definition at line 156 of file tree-cfgcleanup.c.
References bb_for_stmt(), bsi_end_p(), bsi_last(), bsi_remove(), bsi_stmt(), CDI_DOMINATORS, cleanup_control_expr_graph(), edge::dest, EDGE_ABNORMAL, EDGE_FALLTHRU, ei_next(), ei_safe_edge(), ei_start, edge::flags, FOR_EACH_BB, free_dominance_info(), GOTO_DESTINATION, label_to_block, last_stmt(), modified_noreturn_calls, noreturn_call_p(), NULL, NULL_TREE, remove_edge(), remove_fallthru_edge(), split_block(), ssa_names, TREE_CODE, TREE_OPERAND, tree_purge_dead_eh_edges(), VEC_alloc, VEC_length, VEC_pop, and VEC_quick_push.
Definition at line 1310 of file tree-vectorizer.c.
Definition at line 1559 of file tree-vectorizer.c.
Definition at line 376 of file tree-ssa-loop-manip.c.
References bsi_end_p(), bsi_next(), bsi_start(), bsi_stmt(), check_loop_closed_ssa_stmt(), check_loop_closed_ssa_use(), current_loops, FOR_EACH_BB, i, NULL, PHI_ARG_DEF, PHI_ARG_EDGE, PHI_CHAIN, phi_nodes(), PHI_NUM_ARGS, unsigned, and verify_ssa().
Definition at line 672 of file tree-ssa.c.
References bb_for_stmt(), BITMAP_ALLOC, bitmap_clear(), BITMAP_FREE, bitmap_set_bit(), bsi_end_p(), bsi_next(), bsi_start(), bsi_stmt(), calculate_dominance_info(), CDI_DOMINATORS, edge::dest, dom_computed, DOM_NONE, err, error(), FOR_EACH_BB, FOR_EACH_EDGE, FOR_EACH_SSA_TREE_OPERAND, FOR_EACH_SSA_USE_OPERAND, free(), free_dominance_info(), gcc_assert, get_base_address(), i, internal_error(), IS_EMPTY_STMT, is_gimple_reg(), iter, need_ssa_update_p(), NULL, num_ssa_names, PHI_CHAIN, phi_nodes(), PHI_RESULT, print_generic_stmt(), edge::src, SSA_NAME, ssa_name, SSA_NAME_DEF_STMT, SSA_NAME_VERSION, SSA_OP_ALL_DEFS, SSA_OP_ALL_KILLS, SSA_OP_ALL_USES, SSA_OP_VMAYDEF, SSA_OP_VMUSTDEF, SSA_VAR_P, stmt_modified_p(), TDF_VOPS, timevar_pop, timevar_push, TREE_CODE, TREE_OPERAND, TREE_VISITED, USE_FROM_PTR, use_operand_p, verify_alias_info(), verify_def(), verify_phi_args(), verify_stmts(), verify_use(), XCNEWVEC, and ZERO_SSA_OPERANDS.
Definition at line 3582 of file tree-cfg.c.
References addr(), bb_for_stmt(), bsi_end_p(), bsi_next(), bsi_start(), bsi_stmt(), debug_generic_stmt(), err, error(), FOR_EACH_BB, htab_create(), htab_delete(), htab_eq_pointer, htab_hash_pointer, i, internal_error(), is_gimple_val(), NULL, PHI_ARG_DEF, PHI_CHAIN, phi_nodes(), PHI_NUM_ARGS, SSA_NAME, timevar_pop, timevar_push, TREE_CODE, verify_expr(), verify_node_sharing(), verify_stmt(), and walk_tree().
Referenced by build_tree_cfg(), execute_todo(), tree_ssa_iv_optimize(), and verify_ssa().
Definition at line 252 of file tree-vn.c.
References add_to_value(), val_expr_pair_d::e, free(), val_expr_pair_d::hashcode, htab_find_slot_with_hash(), INSERT, set_value_handle(), TREE_CODE, val_expr_pair_d::v, value_table, vn_compute(), val_expr_pair_d::vuses, and XNEW.
Referenced by vn_add(), vn_lookup_or_add(), and vn_lookup_or_add_with_vuses().
Definition at line 83 of file tree-vn.c.
References gcc_assert, iterative_hash_expr(), and STMT_ANN.
Definition at line 305 of file tree-vn.c.
References htab_delete(), NULL, value_table, and VEC_free.
Definition at line 295 of file tree-vn.c.
References free(), htab_create(), NULL, val_expr_pair_expr_eq(), val_expr_pair_hash(), and value_table.
Definition at line 360 of file tree-vn.c.
References dump_file, dump_flags, make_value_handle(), NULL_TREE, print_creation_to_file(), set_value_handle(), sort_vuses(), TDF_DETAILS, TREE_TYPE, VALUE_HANDLE_VUSES, VEC, vn_add_with_vuses(), vn_lookup(), and val_expr_pair_d::vuses.
Definition at line 402 of file tree-vn.c.
References dump_file, dump_flags, make_value_handle(), NULL_TREE, print_creation_to_file(), set_value_handle(), sort_vuses(), TDF_DETAILS, TREE_TYPE, VALUE_HANDLE_VUSES, vn_add_with_vuses(), and vn_lookup_with_vuses().
Referenced by phi_translate().
Definition at line 291 of file tree-vn.c.
References val_expr_pair_d::e, val_expr_pair_d::hashcode, htab_find_slot_with_hash(), is_gimple_min_invariant(), NO_INSERT, NULL, NULL_TREE, value_table, vn_compute(), and val_expr_pair_d::vuses.
Referenced by vn_lookup(), and vn_lookup_or_add_with_vuses().
Definition at line 4312 of file tree-vrp.c.
References EXPR_HAS_LOCATION, EXPR_LOCATION, G_, input_location, is_gimple_min_invariant(), issue_strict_overflow_warning, ret, vrp_evaluate_conditional_warnv(), WARN_STRICT_OVERFLOW_COMPARISON, WARN_STRICT_OVERFLOW_CONDITIONAL, and warning.
Referenced by fold_predicate_in(), and VEC().
| void walk_use_def_chains | ( | tree | , | |
| walk_use_def_chains_fn | , | |||
| void * | , | |||
| bool | ||||
| ) |
Definition at line 978 of file tree-ssa.c.
References gcc_assert, pointer_set_create(), pointer_set_destroy(), SSA_NAME, SSA_NAME_DEF_STMT, TREE_CODE, visited, and walk_use_def_chains_1().
Definition at line 1260 of file tree-ssa-ccp.c.
References build2, build_int_cst(), DECL_SIZE, DECL_UNSIGNED, fold(), fold_build2, gcc_assert, HOST_BITS_PER_WIDE_INT, host_integerp(), HOST_WIDE_INT, i, NULL_TREE, tree_low_cst(), TREE_TYPE, and TYPE_SIZE.
Definition at line 175 of file tree-ssa-alias.c.
Definition at line 47 of file tree-ssa-alias.c.
Definition at line 166 of file tree-ssa-alias.c.
Definition at line 59 of file tree-into-ssa.c.
Referenced by expand_complex_libcall(), expand_complex_operations_1(), force_gimple_operand(), gimplify_val(), release_defs(), remove_bb(), rewrite_into_ssa(), rewrite_out_of_ssa(), set_rhs(), and update_complex_assignment().
Definition at line 329 of file tree-flow.h.
Referenced by delete_tree_ssa(), mark_stmt_modified(), modify_stmt(), and VEC().
| gc* ssa_names |
Definition at line 433 of file tree-flow.h.
Definition at line 401 of file tree-ssa-alias.c.
Referenced by add_virtual_operand(), execute_one_pass(), and execute_todo().
1.5.6