#include "config.h"#include "system.h"#include "coretypes.h"#include "tm.h"#include "tree.h"#include "flags.h"#include "rtl.h"#include "tm_p.h"#include "langhooks.h"#include "hard-reg-set.h"#include "basic-block.h"#include "output.h"#include "expr.h"#include "function.h"#include "diagnostic.h"#include "bitmap.h"#include "tree-flow.h"#include "tree-gimple.h"#include "tree-inline.h"#include "varray.h"#include "timevar.h"#include "hashtab.h"#include "tree-dump.h"#include "tree-pass.h"#include "cfgloop.h"#include "domwalk.h"#include "ggc.h"#include "params.h"#include "vecprim.h"

Go to the source code of this file.
| #define NAME_SETS_GROWTH_FACTOR (MAX (3, num_ssa_names / 3)) |
Referenced by add_new_name_mapping(), and init_update_ssa().
Definition at line 251 of file tree-into-ssa.c.
Referenced by initialize_flags_in_bb(), insert_phi_nodes_for(), mark_def_interesting(), mark_def_sites(), rewrite_stmt(), rewrite_update_init_block(), and rewrite_update_stmt().
Definition at line 242 of file tree-into-ssa.c.
| typedef struct ssa_name_info* ssa_name_info_p |
Definition at line 212 of file tree-into-ssa.c.
Definition at line 645 of file tree-into-ssa.c.
References add_to_repl_tbl(), bitmap_bit_p(), bitmap_ior_into(), bitmap_set_bit(), DECL_UID, gcc_assert, is_gimple_reg(), is_new_name(), simple_bitmap_def::n_bits, NAME_SETS_GROWTH_FACTOR, names_replaced_by(), need_to_update_vops_p, num_ssa_names, update_ssa_stats_d::num_total_mappings, update_ssa_stats_d::num_virtual_mappings, update_ssa_stats_d::num_virtual_symbols, sbitmap_resize(), SET_BIT, SSA_NAME_VAR, SSA_NAME_VERSION, sym, timevar_pop, timevar_push, update_ssa_stats, and update_ssa_stats_d::virtual_symbols.
Referenced by insert_phi_nodes_for(), and register_new_name_mapping().
Definition at line 618 of file tree-into-ssa.c.
References BITMAP_ALLOC, bitmap_set_bit(), htab_find_slot(), INSERT, NULL, repl_tbl, SSA_NAME_VERSION, and XNEW.
Referenced by add_new_name_mapping().
Definition at line 798 of file tree-into-ssa.c.
References da, dom_dfsnum::dfs_num, and int.
Referenced by prune_unused_phi_nodes().
Definition at line 363 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().
Referenced by add_exit_phis_var(), and insert_phi_nodes_for().
| tree create_new_def_for | ( | tree | old_name, | |
| tree | stmt, | |||
| def_operand_p | def | |||
| ) |
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().
Definition at line 1082 of file tree-into-ssa.c.
References debug_def_blocks_r(), def_blocks, htab_traverse(), and NULL.
Definition at line 1556 of file tree-into-ssa.c.
References bitmap_print(), def_blocks_d::def_blocks, dump_flags, fprintf(), def_blocks_d::livein_blocks, print_generic_expr(), and def_blocks_d::var.
Definition at line 1533 of file tree-into-ssa.c.
Definition at line 1543 of file tree-into-ssa.c.
References BITMAP_FREE, def_blocks_d::def_blocks, free(), def_blocks_d::livein_blocks, and def_blocks_d::phi_blocks.
Definition at line 1526 of file tree-into-ssa.c.
References htab_hash_pointer, and def_blocks_d::var.
| DEF_VEC_ALLOC_P | ( | ssa_name_info_p | , | |
| heap | ||||
| ) |
| DEF_VEC_P | ( | ssa_name_info_p | ) |
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 2408 of file tree-into-ssa.c.
References EXECUTE_IF_SET_IN_BITMAP, fprintf(), i, names_replaced_by(), print_generic_expr(), and ssa_name.
Referenced by debug_names_replaced_by(), and dump_update_ssa().
Definition at line 971 of file tree-into-ssa.c.
References current_function_decl, dump_bb(), dump_flags, FOR_EACH_BB, fprintf(), fputs(), phi_nodes(), and print_generic_stmt().
Definition at line 1013 of file tree-into-ssa.c.
References def_blocks, fprintf(), and htab_statistics().
Definition at line 2440 of file tree-into-ssa.c.
References bitmap_empty_p, dump_names_replaced_by(), EXECUTE_IF_SET_IN_BITMAP, EXECUTE_IF_SET_IN_SBITMAP, fprintf(), i, need_ssa_update_p(), update_ssa_stats_d::num_total_mappings, update_ssa_stats_d::num_virtual_mappings, update_ssa_stats_d::num_virtual_symbols, print_generic_expr(), referenced_var, sbitmap_first_set_bit(), ssa_name, and update_ssa_stats.
Referenced by debug_update_ssa(), and update_ssa().
| static struct def_blocks_d* find_def_blocks_for | ( | tree | var | ) | [static, read] |
Definition at line 1064 of file tree-into-ssa.c.
References def_blocks, htab_find(), and def_blocks_d::var.
| static unsigned find_dfsnum_interval | ( | struct dom_dfsnum * | defs, | |
| unsigned | n, | |||
| unsigned | s | |||
| ) | [static] |
Definition at line 810 of file tree-into-ssa.c.
References dom_dfsnum::bb_index, dom_dfsnum::dfs_num, and f.
Referenced by prune_unused_phi_nodes().
Definition at line 1008 of file tree-into-ssa.c.
References dom_dfsnum::bb_index, BITMAP_ALLOC, bitmap_set_bit(), EXECUTE_IF_AND_COMPL_IN_BITMAP, EXECUTE_IF_SET_IN_BITMAP, gcc_assert, last_basic_block, n_basic_blocks, NULL, VEC, VEC_alloc, VEC_free, VEC_length, VEC_pop, VEC_quick_push, and VEC_safe_push.
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 struct def_blocks_d* get_def_blocks_for | ( | tree | var | ) | [static, read] |
Definition at line 451 of file tree-into-ssa.c.
References BITMAP_ALLOC, def_blocks, def_blocks_d::def_blocks, htab_find_slot(), INSERT, def_blocks_d::livein_blocks, NULL, def_blocks_d::phi_blocks, def_blocks_d::var, and XNEW.
Definition at line 1075 of file tree-into-ssa.c.
References build_empty_stmt(), default_def(), make_ssa_name(), NULL_TREE, and set_default_def().
Referenced by get_reaching_def().
| static enum need_phi_state get_phi_state | ( | tree | var | ) | [inline, static] |
Definition at line 309 of file tree-into-ssa.c.
References get_ssa_name_ann(), SSA_NAME, TREE_CODE, and var_ann().
Definition at line 1323 of file tree-into-ssa.c.
References DECL_P, get_current_def(), get_default_def_for(), NULL_TREE, set_current_def(), and SSA_NAME_VAR.
| static struct ssa_name_info* get_ssa_name_ann | ( | tree | name | ) | [static, read] |
Definition at line 268 of file tree-into-ssa.c.
References ssa_name_info::current_def, info, len, NULL_TREE, num_ssa_names, SSA_NAME_VERSION, VEC_index, VEC_length, VEC_quick_push, VEC_reserve, and XCNEW.
Definition at line 1491 of file tree-into-ssa.c.
References fprintf(), htab_collisions(), htab_elements, and htab_size.
Definition at line 2508 of file tree-into-ssa.c.
References BITMAP_ALLOC, htab_create(), memset, NAME_SETS_GROWTH_FACTOR, need_to_initialize_update_ssa_p, need_to_update_vops_p, NULL, num_ssa_names, repl_map_eq(), repl_map_free(), repl_map_hash(), repl_tbl, sbitmap_alloc(), sbitmap_zero(), update_ssa_stats, and update_ssa_stats_d::virtual_symbols.
Referenced by mark_set_for_renaming(), mark_sym_for_renaming(), and register_new_name_mapping().
| static void initialize_flags_in_bb | ( | basic_block | bb | ) | [static] |
Definition at line 411 of file tree-into-ssa.c.
References bsi_end_p(), bsi_next(), bsi_start(), bsi_stmt(), gcc_assert, PHI_CHAIN, phi_nodes(), REGISTER_DEFS_IN_THIS_STMT, REWRITE_THIS_STMT, and stmt_modified_p().
Referenced by mark_block_for_update().
Definition at line 1199 of file tree-into-ssa.c.
References BITMAP_FREE, def_blocks_d::def_blocks, find_def_blocks_for(), find_idf(), FOR_EACH_REFERENCED_VAR, get_phi_state(), insert_phi_nodes_for(), NEED_PHI_STATE_NO, NULL, timevar_pop, timevar_push, and def_blocks_d::var.
Definition at line 1129 of file tree-into-ssa.c.
References add_new_name_mapping(), add_phi_arg(), BASIC_BLOCK, bitmap_and_compl_into(), create_phi_node(), DECL_P, def_blocks_d::def_blocks, duplicate_ssa_name(), EXECUTE_IF_SET_IN_BITMAP, find_def_blocks_for(), FOR_EACH_EDGE, gcc_assert, def_blocks_d::livein_blocks, mark_block_for_update(), mark_phi_for_rewrite(), def_blocks_d::phi_blocks, prune_unused_phi_nodes(), REGISTER_DEFS_IN_THIS_STMT, SET_PHI_RESULT, SSA_NAME, SSA_NAME_VAR, sym, and TREE_CODE.
| static void insert_updated_phi_nodes_for | ( | tree | var, | |
| bitmap * | dfs, | |||
| bitmap | blocks, | |||
| unsigned | update_flags | |||
| ) | [static] |
Definition at line 2732 of file tree-into-ssa.c.
References BASIC_BLOCK, BITMAP_ALLOC, bitmap_copy(), bitmap_empty_p, BITMAP_FREE, bitmap_ior_into(), bitmap_set_bit(), CDI_DOMINATORS, def_blocks_d::def_blocks, dominated_by_p(), ENTRY_BLOCK_PTR, EXECUTE_IF_SET_IN_BITMAP, find_def_blocks_for(), find_idf(), FOR_EACH_EDGE, gcc_assert, i, insert_phi_nodes_for(), is_old_name(), nearest_common_dominator_for_set(), NULL, edge::src, SSA_NAME, symbol_marked_for_renaming(), TODO_update_ssa, TODO_update_ssa_full_phi, and TREE_CODE.
Referenced by update_ssa().
Definition at line 566 of file tree-into-ssa.c.
References simple_bitmap_def::n_bits, SSA_NAME_VERSION, and TEST_BIT.
Referenced by add_new_name_mapping(), mark_def_interesting(), maybe_register_def(), name_registered_for_update_p(), and rewrite_update_init_block().
Definition at line 556 of file tree-into-ssa.c.
References simple_bitmap_def::n_bits, SSA_NAME_VERSION, and TEST_BIT.
Referenced by insert_updated_phi_nodes_for(), maybe_register_def(), maybe_replace_use(), name_registered_for_update_p(), rewrite_update_init_block(), and rewrite_update_phi_arguments().
| static void mark_block_for_update | ( | basic_block | bb | ) | [static] |
Definition at line 437 of file tree-into-ssa.c.
References bitmap_bit_p(), bitmap_set_bit(), gcc_assert, basic_block_def::index, initialize_flags_in_bb(), and NULL.
Referenced by insert_phi_nodes_for(), mark_use_interesting(), prepare_block_for_update(), and prepare_def_site_for().
| static void mark_def_interesting | ( | tree | var, | |
| tree | stmt, | |||
| basic_block | bb, | |||
| bool | insert_phi_p | |||
| ) | [static] |
Definition at line 2154 of file tree-into-ssa.c.
References bitmap_bit_p(), EXECUTE_IF_SET_IN_BITMAP, gcc_assert, i, basic_block_def::index, is_new_name(), names_replaced_by(), REGISTER_DEFS_IN_THIS_STMT, set_def_block(), SSA_NAME, ssa_name, and TREE_CODE.
Referenced by prepare_block_for_update(), and prepare_def_site_for().
Definition at line 2012 of file tree-into-ssa.c.
References dom_walk_data::after_dom_children_after_stmts, dom_walk_data::after_dom_children_before_stmts, dom_walk_data::after_dom_children_walk_stmts, dom_walk_data::before_dom_children_after_stmts, dom_walk_data::before_dom_children_before_stmts, dom_walk_data::before_dom_children_walk_stmts, BITMAP_ALLOC, BITMAP_FREE, dom_walk_data::block_local_data_size, CDI_DOMINATORS, def_blocks, def_blocks_eq(), def_blocks_free(), def_blocks_hash(), ENTRY_BLOCK_PTR, fini_walk_dominator_tree(), FOR_EACH_REFERENCED_VAR, dom_walk_data::global_data, htab_create(), init_walk_dominator_tree(), dom_walk_data::initialize_block_local_data, mark_def_sites_global_data::interesting_blocks, dom_walk_data::interesting_blocks, mark_def_sites_global_data::kills, mark_def_sites(), mark_def_sites_initialize_block(), NULL, NULL_TREE, num_referenced_vars, set_current_def(), walk_dominator_tree(), and dom_walk_data::walk_stmts_backward.
| static void mark_def_sites | ( | struct dom_walk_data * | walk_data, | |
| basic_block | bb, | |||
| block_stmt_iterator | bsi | |||
| ) | [static] |
Definition at line 721 of file tree-into-ssa.c.
References bitmap_bit_p(), bitmap_set_bit(), bsi_stmt(), DECL_P, DECL_UID, def_operand_p, FOR_EACH_SSA_MAYDEF_OPERAND, FOR_EACH_SSA_TREE_OPERAND, FOR_EACH_SSA_USE_OPERAND, gcc_assert, dom_walk_data::global_data, basic_block_def::index, mark_def_sites_global_data::interesting_blocks, iter, mark_def_sites_global_data::kills, NULL, REGISTER_DEFS_IN_THIS_STMT, REWRITE_THIS_STMT, SET_BIT, set_def_block(), set_livein_block(), SSA_OP_DEF, SSA_OP_USE, SSA_OP_VMUSTDEF, SSA_OP_VMUSTKILL, SSA_OP_VUSE, sym, update_stmt_if_modified(), USE_FROM_PTR, and use_operand_p.
| static void mark_def_sites_initialize_block | ( | struct dom_walk_data * | walk_data, | |
| basic_block bb | ATTRIBUTE_UNUSED | |||
| ) | [static] |
Definition at line 1994 of file tree-into-ssa.c.
References bitmap_clear(), dom_walk_data::global_data, and mark_def_sites_global_data::kills.
| static void mark_phi_for_rewrite | ( | basic_block | bb, | |
| tree | phi | |||
| ) | [static] |
Definition at line 1092 of file tree-into-ssa.c.
References bitmap_set_bit(), i, idx, basic_block_def::index, last_basic_block, NULL, phis, REWRITE_THIS_STMT, VEC_alloc, VEC_index, VEC_length, VEC_quick_push, VEC_replace, VEC_reserve, and VEC_safe_push.
Referenced by insert_phi_nodes_for(), and mark_use_interesting().
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().
| static void mark_use_interesting | ( | tree | var, | |
| tree | stmt, | |||
| basic_block | bb, | |||
| bool | insert_phi_p | |||
| ) | [inline, static] |
Definition at line 2185 of file tree-into-ssa.c.
References bb_for_stmt(), bitmap_bit_p(), def_blocks_d::def_blocks, get_def_blocks_for(), basic_block_def::index, mark_block_for_update(), mark_phi_for_rewrite(), REWRITE_THIS_STMT, set_livein_block(), and TREE_CODE.
Referenced by prepare_block_for_update(), and prepare_use_sites_for().
| static void maybe_register_def | ( | def_operand_p | def_p, | |
| tree | stmt | |||
| ) | [inline, static] |
Definition at line 1739 of file tree-into-ssa.c.
References DECL_P, DEF_FROM_PTR, is_new_name(), is_old_name(), make_ssa_name(), names_replaced_by(), register_new_update_set(), register_new_update_single(), SET_DEF, SSA_NAME_VAR, sym, and symbol_marked_for_renaming().
Referenced by rewrite_update_stmt().
| static void maybe_replace_use | ( | use_operand_p | use_p | ) | [inline, static] |
Definition at line 1717 of file tree-into-ssa.c.
References DECL_P, get_reaching_def(), is_old_name(), NULL_TREE, SET_USE, SSA_NAME_VAR, sym, symbol_marked_for_renaming(), and USE_FROM_PTR.
Referenced by rewrite_update_stmt().
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 599 of file tree-into-ssa.c.
References htab_find_slot(), NO_INSERT, NULL, and repl_tbl.
Referenced by add_new_name_mapping(), dump_names_replaced_by(), mark_def_interesting(), maybe_register_def(), and rewrite_update_init_block().
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().
| static void prepare_block_for_update | ( | basic_block | bb, | |
| bool | insert_phi_p | |||
| ) | [static] |
Definition at line 2221 of file tree-into-ssa.c.
References bsi_end_p(), bsi_next(), bsi_start(), bsi_stmt(), CDI_DOMINATORS, DECL_P, DEF_FROM_PTR, def_operand_p, first_dom_son(), FOR_EACH_EDGE, FOR_EACH_SSA_DEF_OPERAND, FOR_EACH_SSA_USE_OPERAND, i, lhs_sym, mark_block_for_update(), mark_def_interesting(), mark_use_interesting(), next_dom_son(), PHI_CHAIN, phi_nodes(), PHI_RESULT, si, edge::src, SSA_NAME_VAR, SSA_OP_DEF, SSA_OP_USE, SSA_OP_VIRTUAL_DEFS, SSA_OP_VUSE, sym, symbol_marked_for_renaming(), USE_FROM_PTR, and use_operand_p.
Referenced by update_ssa().
Definition at line 2349 of file tree-into-ssa.c.
References bb_for_stmt(), bitmap_bit_p(), gcc_assert, basic_block_def::index, last_basic_block, mark_block_for_update(), mark_def_interesting(), NULL, SSA_NAME_DEF_STMT, and SSA_NAME_VERSION.
Referenced by prepare_names_to_update().
Definition at line 2373 of file tree-into-ssa.c.
References bitmap_bit_p(), EXECUTE_IF_SET_IN_BITMAP, EXECUTE_IF_SET_IN_SBITMAP, i, NULL, prepare_def_site_for(), prepare_use_sites_for(), RESET_BIT, and ssa_name.
Referenced by update_ssa().
Definition at line 2318 of file tree-into-ssa.c.
References bb_for_stmt(), FOR_EACH_IMM_USE_FAST, iter, mark_use_interesting(), PHI_ARG_EDGE, PHI_ARG_INDEX_FROM_USE, edge::src, TREE_CODE, use_operand_p, and USE_STMT.
Referenced by prepare_names_to_update().
Definition at line 830 of file tree-into-ssa.c.
References b, BASIC_BLOCK, bb_dom_dfs_in(), bb_dom_dfs_out(), dom_dfsnum::bb_index, BITMAP_ALLOC, bitmap_and_compl(), bitmap_and_compl_into(), bitmap_bit_p(), bitmap_clear(), bitmap_copy(), bitmap_count_bits(), bitmap_empty_p, BITMAP_FREE, bitmap_ior(), bitmap_set_bit(), CDI_DOMINATORS, cmp_dfsnum(), defs, dom_dfsnum::dfs_num, ENTRY_BLOCK, EXECUTE_IF_SET_IN_BITMAP, find_dfsnum_interval(), FOR_EACH_EDGE, free(), gcc_assert, get_immediate_dominator(), i, NULL, p, qsort(), edge::src, top, VEC, VEC_alloc, VEC_empty, VEC_free, VEC_index, VEC_length, VEC_pop, VEC_quick_push, VEC_safe_push, worklist, and XNEWVEC.
Referenced by insert_phi_nodes_for().
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 1605 of file tree-into-ssa.c.
References EXECUTE_IF_SET_IN_BITMAP, i, register_new_update_single(), and ssa_name.
Referenced by maybe_register_def(), and rewrite_update_init_block().
Definition at line 1581 of file tree-into-ssa.c.
References get_current_def(), set_current_def(), VEC_quick_push, and VEC_reserve.
Referenced by maybe_register_def(), register_new_update_set(), and rewrite_update_init_block().
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 589 of file tree-into-ssa.c.
References BITMAP_FREE, and free().
Referenced by init_update_ssa().
Definition at line 576 of file tree-into-ssa.c.
References htab_hash_pointer.
Referenced by init_update_ssa().
| static void replace_use | ( | use_operand_p | use_p, | |
| tree | use | |||
| ) | [inline, static] |
Definition at line 1837 of file tree-into-ssa.c.
References get_reaching_def(), and SET_USE.
Referenced by rewrite_update_phi_arguments().
| static void rewrite_add_phi_arguments | ( | struct dom_walk_data *walk_data | ATTRIBUTE_UNUSED, | |
| basic_block | bb | |||
| ) | [static] |
Definition at line 1402 of file tree-into-ssa.c.
References add_phi_arg(), edge::dest, FOR_EACH_EDGE, get_reaching_def(), PHI_CHAIN, phi_nodes(), PHI_RESULT, and SSA_NAME_VAR.
| static void rewrite_blocks | ( | basic_block | entry, | |
| enum rewrite_mode | what, | |||
| sbitmap | blocks | |||
| ) | [static] |
Definition at line 1919 of file tree-into-ssa.c.
References dom_walk_data::after_dom_children_after_stmts, dom_walk_data::before_dom_children_after_stmts, dom_walk_data::before_dom_children_before_stmts, dom_walk_data::before_dom_children_walk_stmts, CDI_DOMINATORS, def_blocks, dump_dfa_stats(), dump_file, dump_flags, dump_tree_ssa_stats(), fini_walk_dominator_tree(), gcc_unreachable, htab_delete(), init_walk_dominator_tree(), dom_walk_data::interesting_blocks, memset, NULL, rewrite_add_phi_arguments(), rewrite_finalize_block(), rewrite_initialize_block(), rewrite_stmt(), rewrite_update_fini_block(), rewrite_update_init_block(), rewrite_update_phi_arguments(), rewrite_update_stmt(), TDF_STATS, timevar_pop, timevar_push, VEC_alloc, VEC_free, and walk_dominator_tree().
| static void rewrite_finalize_block | ( | struct dom_walk_data *walk_data | ATTRIBUTE_UNUSED, | |
| basic_block bb | ATTRIBUTE_UNUSED | |||
| ) | [static] |
Definition at line 1426 of file tree-into-ssa.c.
References NULL, NULL_TREE, set_current_def(), SSA_NAME, SSA_NAME_VAR, tmp, TREE_CODE, def_blocks_d::var, VEC_length, and VEC_pop.
| static void rewrite_initialize_block | ( | struct dom_walk_data *walk_data | ATTRIBUTE_UNUSED, | |
| basic_block | bb | |||
| ) | [static] |
Definition at line 1294 of file tree-into-ssa.c.
References dump_file, dump_flags, fprintf(), basic_block_def::index, NULL_TREE, PHI_CHAIN, phi_nodes(), PHI_RESULT, register_new_def(), result, TDF_DETAILS, and VEC_safe_push.
| static unsigned int rewrite_into_ssa | ( | void | ) | [static] |
Definition at line 2083 of file tree-into-ssa.c.
References BITMAP_ALLOC, BITMAP_FREE, calculate_dominance_info(), CDI_DOMINATORS, compute_dominance_frontiers(), dfs(), ENTRY_BLOCK_PTR, FOR_EACH_BB, free(), in_ssa_p, basic_block_def::index, init_ssa_operands(), insert_phi_nodes(), mark_def_sites_global_data::interesting_blocks, last_basic_block, mark_def_site_blocks(), NULL, rewrite_blocks(), sbitmap_alloc(), sbitmap_free, sbitmap_zero(), timevar_pop, timevar_push, and xmalloc().
| static void rewrite_stmt | ( | struct dom_walk_data *walk_data | ATTRIBUTE_UNUSED, | |
| basic_block bb | ATTRIBUTE_UNUSED, | |||
| block_stmt_iterator | si | |||
| ) | [static] |
Definition at line 1350 of file tree-into-ssa.c.
References bsi_stmt(), DECL_P, DEF_FROM_PTR, def_operand_p, dump_file, dump_flags, FOR_EACH_SSA_DEF_OPERAND, FOR_EACH_SSA_USE_OPERAND, fprintf(), gcc_assert, get_reaching_def(), iter, make_ssa_name(), NULL, print_generic_stmt(), REGISTER_DEFS_IN_THIS_STMT, register_new_def(), REWRITE_THIS_STMT, SET_DEF, SET_USE, SSA_OP_ALL_DEFS, SSA_OP_ALL_KILLS, SSA_OP_ALL_USES, TDF_DETAILS, TDF_SLIM, USE_FROM_PTR, use_operand_p, and def_blocks_d::var.
| static void rewrite_update_fini_block | ( | struct dom_walk_data *walk_data | ATTRIBUTE_UNUSED, | |
| basic_block bb | ATTRIBUTE_UNUSED | |||
| ) | [static] |
Definition at line 1693 of file tree-into-ssa.c.
References NULL, set_current_def(), def_blocks_d::var, VEC_length, and VEC_pop.
Referenced by rewrite_blocks().
| static void rewrite_update_init_block | ( | struct dom_walk_data *walk_data | ATTRIBUTE_UNUSED, | |
| basic_block | bb | |||
| ) | [static] |
Definition at line 1621 of file tree-into-ssa.c.
References bitmap_bit_p(), dump_file, dump_flags, EDGE_ABNORMAL, edge::flags, FOR_EACH_EDGE, fprintf(), basic_block_def::index, is_new_name(), is_old_name(), lhs_sym, names_replaced_by(), NULL_TREE, PHI_CHAIN, phi_nodes(), PHI_RESULT, REGISTER_DEFS_IN_THIS_STMT, register_new_update_set(), register_new_update_single(), SSA_NAME_OCCURS_IN_ABNORMAL_PHI, SSA_NAME_VAR, symbol_marked_for_renaming(), TDF_DETAILS, and VEC_safe_push.
Referenced by rewrite_blocks().
| static void rewrite_update_phi_arguments | ( | struct dom_walk_data *walk_data | ATTRIBUTE_UNUSED, | |
| basic_block | bb | |||
| ) | [static] |
Definition at line 1851 of file tree-into-ssa.c.
References bitmap_bit_p(), DECL_P, edge::dest, EDGE_ABNORMAL, edge::flags, FOR_EACH_EDGE, gcc_assert, i, is_old_name(), NULL_TREE, PHI_ARG_DEF_PTR_FROM_EDGE, PHI_RESULT, phis, replace_use(), REWRITE_THIS_STMT, SSA_NAME, SSA_NAME_OCCURS_IN_ABNORMAL_PHI, SSA_NAME_VAR, sym, symbol_marked_for_renaming(), TREE_CODE, USE_FROM_PTR, use_operand_p, VEC_index, and VEC_iterate.
Referenced by rewrite_blocks().
| static void rewrite_update_stmt | ( | struct dom_walk_data *walk_data | ATTRIBUTE_UNUSED, | |
| basic_block bb | ATTRIBUTE_UNUSED, | |||
| block_stmt_iterator | si | |||
| ) | [static] |
Definition at line 1779 of file tree-into-ssa.c.
References bitmap_bit_p(), bsi_stmt(), def_operand_p, dump_file, dump_flags, FOR_EACH_SSA_DEF_OPERAND, FOR_EACH_SSA_USE_OPERAND, fprintf(), gcc_assert, iter, maybe_register_def(), maybe_replace_use(), need_to_update_vops_p, print_generic_stmt(), REGISTER_DEFS_IN_THIS_STMT, REWRITE_THIS_STMT, SSA_OP_DEF, SSA_OP_USE, SSA_OP_VIRTUAL_DEFS, SSA_OP_VIRTUAL_KILLS, SSA_OP_VIRTUAL_USES, stmt_ann(), TDF_DETAILS, TDF_SLIM, and use_operand_p.
Referenced by rewrite_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().
| static void set_def_block | ( | tree | var, | |
| basic_block | bb, | |||
| bool | phi_p | |||
| ) | [static] |
Definition at line 478 of file tree-into-ssa.c.
References bitmap_set_bit(), def_blocks_d::def_blocks, get_def_blocks_for(), get_phi_state(), basic_block_def::index, NEED_PHI_STATE_MAYBE, NEED_PHI_STATE_NO, NEED_PHI_STATE_UNKNOWN, def_blocks_d::phi_blocks, and set_phi_state().
| static void set_livein_block | ( | tree | var, | |
| basic_block | bb | |||
| ) | [static] |
Definition at line 513 of file tree-into-ssa.c.
References BASIC_BLOCK, bitmap_first_set_bit(), bitmap_set_bit(), CDI_DOMINATORS, def_blocks_d::def_blocks, dominated_by_p(), get_def_blocks_for(), get_phi_state(), basic_block_def::index, def_blocks_d::livein_blocks, NEED_PHI_STATE_MAYBE, NEED_PHI_STATE_NO, and set_phi_state().
| static void set_phi_state | ( | tree | var, | |
| enum need_phi_state | state | |||
| ) | [inline, static] |
Definition at line 321 of file tree-into-ssa.c.
References get_ssa_name_ann(), SSA_NAME, TREE_CODE, and var_ann().
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().
Definition at line 2852 of file tree-into-ssa.c.
References bitmap_ior_into(), dump_file, EXECUTE_IF_SET_IN_SBITMAP, fprintf(), i, is_gimple_reg(), update_ssa_stats_d::num_virtual_mappings, update_ssa_stats_d::num_virtual_symbols, RESET_BIT, ssa_name, update_ssa_stats, and update_ssa_stats_d::virtual_symbols.
Referenced by update_ssa().
Definition at line 2834 of file tree-into-ssa.c.
References MIN_VIRTUAL_MAPPINGS, update_ssa_stats_d::num_virtual_mappings, update_ssa_stats_d::num_virtual_symbols, update_ssa_stats, and VIRTUAL_MAPPINGS_TO_SYMS_RATIO.
Referenced by update_ssa().
Definition at line 546 of file tree-into-ssa.c.
References bitmap_bit_p(), DECL_P, DECL_UID, and gcc_assert.
Referenced by insert_updated_phi_nodes_for(), maybe_register_def(), maybe_replace_use(), name_registered_for_update_p(), prepare_block_for_update(), rewrite_update_init_block(), and rewrite_update_phi_arguments().
| void update_ssa | ( | unsigned | update_flags | ) |
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 | ( | ssa_name_info_p | , | |
| heap | ||||
| ) | [static] |
Definition at line 216 of file tree-into-ssa.c.
| static VEC | ( | typedef VEC( | tree, | |
| heap | ||||
| ) | [static] |
Definition at line 105 of file tree-into-ssa.c.
htab_t def_blocks [static] |
Definition at line 88 of file tree-into-ssa.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().
bool need_to_initialize_update_ssa_p = true [static] |
Definition at line 158 of file tree-into-ssa.c.
Referenced by delete_update_ssa(), init_update_ssa(), mark_set_for_renaming(), mark_sym_for_renaming(), register_new_name_mapping(), and release_ssa_name_after_update_ssa().
bool need_to_update_vops_p = false [static] |
Definition at line 161 of file tree-into-ssa.c.
Referenced by add_new_name_mapping(), delete_update_ssa(), init_update_ssa(), mark_set_for_renaming(), mark_sym_for_renaming(), and rewrite_update_stmt().
Initial value:
{
"ssa",
NULL,
rewrite_into_ssa,
NULL,
NULL,
0,
0,
PROP_cfg | PROP_referenced_vars,
PROP_ssa,
0,
0,
TODO_dump_func
| TODO_verify_ssa
| TODO_remove_unused_locals,
0
}
Definition at line 2130 of file tree-into-ssa.c.
Definition at line 149 of file tree-into-ssa.c.
Referenced by add_to_repl_tbl(), delete_update_ssa(), init_update_ssa(), names_replaced_by(), and update_ssa().
struct update_ssa_stats_d update_ssa_stats [static] |
Definition at line 176 of file tree-into-ssa.c.
Referenced by add_new_name_mapping(), delete_update_ssa(), dump_update_ssa(), init_update_ssa(), switch_virtuals_to_full_rewrite(), and switch_virtuals_to_full_rewrite_p().
1.5.6