#include "config.h"#include "system.h"#include "rtl.h"#include "hard-reg-set.h"#include "basic-block.h"#include "ssa.h"#include "insn-config.h"#include "recog.h"#include "output.h"#include "errors.h"#include "ggc.h"#include "df.h"#include "function.h"

Go to the source code of this file.
| #define EIE | ( | x, | |||
| y | ) | EDGE_INDEX (edges, x, y) |
| enum latticevalue |
Definition at line 211 of file ssa-ccp.c.
References DF_INSN_DEFS, DF_REF_REGNO, value::lattice_val, df_link::next, df_link::ref, SET_BIT, and UNDEFINED.
Definition at line 226 of file ssa-ccp.c.
References DF_INSN_DEFS, DF_REF_REGNO, value::lattice_val, df_link::next, df_link::ref, SET_BIT, and VARYING.
| static void examine_flow_edges | ( | ) | [static] |
Definition at line 626 of file ssa-ccp.c.
References edge::dest, EIE, basic_block_def::end, EXIT_BLOCK_PTR, first_insn_after_basic_block_note(), basic_block_def::head, basic_block_def::index, INSN_P, NEXT_INSN, NULL, PHI_NODE_P, SET_BIT, edge::src, basic_block_def::succ, edge::succ_next, TEST_BIT, visit_expression(), and visit_phi_node().
| static void follow_def_use_chains | ( | ) | [static] |
Definition at line 694 of file ssa-ccp.c.
References BLOCK_FOR_INSN, BLOCK_NUM, DF_REF_INSN, member(), df_link::next, PHI_NODE_P, df_link::ref, df::regs, RESET_BIT, sbitmap_first_set_bit(), TEST_BIT, reg_info::uses, visit_expression(), and visit_phi_node().
| static void optimize_unexecutable_edges | ( | struct edge_list * | edges, | |
| sbitmap | executable_edges | |||
| ) | [static] |
Definition at line 737 of file ssa-ccp.c.
References BLOCK_FOR_INSN, condjump_p(), edge::dest, df_insn_modify(), EDGE_ABNORMAL, EDGE_FALLTHRU, emit_barrier_after(), basic_block_def::end, EXIT_BLOCK_PTR, first_insn_after_basic_block_note(), edge::flags, FOR_EACH_BB, fprintf(), gen_rtx_LABEL_REF, GET_CODE, i, INDEX_EDGE, insn, INSN_CODE, JUMP_LABEL, NEXT_INSN, NOTE_INSN_DELETED, NOTE_LINE_NUMBER, NULL, NUM_EDGES, PATTERN, PHI_NODE_P, Pmode, basic_block_def::pred, PUT_CODE, remove_edge(), remove_phi_alternative(), rtl_dump_file, SET_SRC, simplejump_p(), edge::src, SSA_NAME, basic_block_def::succ, edge::succ_next, and TEST_BIT.
Definition at line 77 of file cplus-dem.c.
| static void visit_phi_node PARAMS | ( | (rtx, basic_block) | ) | [static] |
| static void ssa_ccp_df_delete_unreachable_insns | ( | ) | [static] |
Definition at line 929 of file ssa-ccp.c.
References b, BB_REACHABLE, BLOCK_FOR_INSN, df_insn_delete(), basic_block_def::end, end, find_unreachable_blocks(), basic_block_def::flags, FOR_EACH_BB_REVERSE, GET_CODE, basic_block_def::head, JUMP_LABEL, next, NEXT_INSN, NULL_RTX, PATTERN, start, and tmp.
| static void ssa_ccp_substitute_constants | ( | ) | [static] |
Definition at line 850 of file ssa-ccp.c.
References BLOCK_FOR_INSN, value::const_value, CONSTANT, df_insn_modify(), DF_REF_INSN, FIRST_PSEUDO_REGISTER, fprintf(), GET_CODE, i, INSN_CODE, INSN_DELETED_P, INSN_UID, df_link::next, NOTE_INSN_DELETED, NOTE_LINE_NUMBER, PATTERN, PHI_NODE_P, df_link::ref, regno_reg_rtx, df::regs, rtl_dump_file, SET_SRC, single_set, ssa_definition, SSA_NAME, reg_info::uses, validate_replace_src(), VARRAY_RTX, and VARRAY_SIZE.
| void ssa_const_prop | ( | ) |
Definition at line 981 of file ssa-ccp.c.
References value::const_value, create_edge_list(), edge::dest, df_analyse(), df_finish, DF_HARD_REGS, df_init(), DF_RD_CHAIN, DF_REG_INFO, DF_RU_CHAIN, EIE, end_alias_analysis(), ENTRY_BLOCK_PTR, examine_flow_edges(), FIRST_PSEUDO_REGISTER, follow_def_use_chains(), free(), free_edge_list(), i, index(), init_alias_analysis(), last_basic_block, value::lattice_val, NULL, NUM_EDGES, optimize_unexecutable_edges(), sbitmap_alloc(), sbitmap_free, sbitmap_zero(), SET_BIT, edge::src, ssa_ccp_df_delete_unreachable_insns(), ssa_ccp_substitute_constants(), ssa_definition, ssa_fast_dce(), edge::succ_next, UNDEFINED, VARRAY_SIZE, VARYING, and xmalloc().
Definition at line 1147 of file ssa-ccp.c.
References BLOCK_FOR_INSN, df_analyse(), DF_HARD_REGS, df_insn_delete(), DF_RD_CHAIN, DF_REF_INSN, DF_REG_INFO, DF_RU_CHAIN, FIRST_PSEUDO_REGISTER, for_each_rtx(), GET_CODE, INSN_DELETED_P, mark_references(), df_link::next, NOTE_INSN_DELETED, NOTE_LINE_NUMBER, NULL, PATTERN, df_link::ref, RESET_BIT, sbitmap_alloc(), sbitmap_first_set_bit(), sbitmap_free, sbitmap_ones(), side_effects_p(), ssa_definition, VARRAY_RTX, VARRAY_SIZE, and worklist.
| static void visit_expression | ( | rtx | insn, | |
| basic_block | block | |||
| ) | [static] |
Definition at line 242 of file ssa-ccp.c.
References value::const_value, CONSTANT, defs_to_undefined(), defs_to_varying(), dest, edge::dest, EDGE_FALLTHRU, EIE, basic_block_def::end, FIRST_PSEUDO_REGISTER, edge::flags, GET_CODE, GET_MODE, GET_RTX_CLASS, index(), value::lattice_val, mode, new_value, NULL, PATTERN, pc_rtx, pc_set(), PHI_NODE_P, REG, REGNO, SET_BIT, SET_DEST, SET_SRC, simplify_binary_operation(), simplify_relational_operation(), simplify_ternary_operation(), simplify_unary_operation(), single_set, src, edge::src, basic_block_def::succ, edge::succ_next, TEST_BIT, UNDEFINED, VARYING, x, and XEXP.
| static void visit_phi_node | ( | rtx | phi_node, | |
| basic_block | block | |||
| ) | [static] |
struct df* df_analyzer [static] |
sbitmap executable_blocks [static] |
sbitmap executable_edges [static] |
edge flow_edges [static] |
1.5.6