20#ifndef GCC_TREE_SSA_THREADEDGE_H
21#define GCC_TREE_SSA_THREADEDGE_H
130#define SSA_NAME_VALUE(x) \
131 (SSA_NAME_VERSION (x) < ssa_name_values.length () \
132 ? ssa_name_values[SSA_NAME_VERSION (x)] \
Definition basic-block.h:26
Definition tree-ssa-threadupdate.h:96
Definition gimple-range.h:48
path_range_query * m_query
Definition tree-ssa-threadedge.h:77
void compute_exit_dependencies(bitmap dependencies, const vec< basic_block > &path, gimple *stmt)
Definition tree-ssa-threadedge.cc:1370
gimple_ranger * m_ranger
Definition tree-ssa-threadedge.h:76
hybrid_jt_simplifier(class gimple_ranger *r, class path_range_query *q)
Definition tree-ssa-threadedge.cc:1325
Definition tree-ssa-threadedge.h:57
void register_equivs_stmt(gimple *, basic_block, jt_simplifier *) override
Definition tree-ssa-threadedge.h:59
Definition tree-ssa-threadedge.h:50
virtual ~jt_simplifier()
Definition tree-ssa-threadedge.h:52
virtual tree simplify(gimple *, gimple *, basic_block, jt_state *)=0
Definition tree-ssa-threadedge.h:27
void dump(FILE *)
Definition tree-ssa-threadedge.cc:1189
virtual void pop()
Definition tree-ssa-threadedge.cc:1168
auto_vec< basic_block > m_blocks
Definition tree-ssa-threadedge.h:43
virtual void record_ranges_from_stmt(gimple *stmt, bool temporary)
Definition tree-ssa-threadedge.cc:1238
void append_path(basic_block)
Definition tree-ssa-threadedge.cc:1182
void get_path(vec< basic_block > &)
Definition tree-ssa-threadedge.cc:1210
static const basic_block BB_MARKER
Definition tree-ssa-threadedge.h:44
virtual void register_equivs_stmt(gimple *, basic_block, class jt_simplifier *)
Definition tree-ssa-threadedge.cc:1251
virtual void push(edge)
Definition tree-ssa-threadedge.cc:1157
virtual void register_equivs_edge(edge e)
Definition tree-ssa-threadedge.cc:1246
virtual void register_equiv(tree dest, tree src, bool update_range)
Definition tree-ssa-threadedge.cc:1227
virtual ~jt_state()
Definition tree-ssa-threadedge.h:29
jt_state * m_state
Definition tree-ssa-threadedge.h:116
gcond * dummy_cond
Definition tree-ssa-threadedge.h:112
class fwd_jt_path_registry * m_registry
Definition tree-ssa-threadedge.h:114
tree simplify_control_stmt_condition_1(edge, gimple *, tree op0, tree_code cond_code, tree op1, unsigned limit)
Definition tree-ssa-threadedge.cc:480
jump_threader(jt_simplifier *, class jt_state *)
Definition tree-ssa-threadedge.cc:65
bool thread_around_empty_blocks(vec< class jump_thread_edge * > *path, edge, bitmap visited, unsigned &limit)
Definition tree-ssa-threadedge.cc:663
bool thread_through_all_blocks(bool may_peel_loop_headers)
Definition tree-ssa-threadedge.cc:93
jt_simplifier * m_simplifier
Definition tree-ssa-threadedge.h:115
void thread_outgoing_edges(basic_block)
Definition tree-ssa-threadedge.cc:1118
gimple * record_temporary_equivalences_from_stmts_at_dest(edge)
Definition tree-ssa-threadedge.cc:217
void thread_across_edge(edge)
Definition tree-ssa-threadedge.cc:988
bool record_temporary_equivalences_from_phis(edge)
Definition tree-ssa-threadedge.cc:153
void remove_jump_threads_including(edge_def *)
Definition tree-ssa-threadedge.cc:87
tree simplify_control_stmt_condition(edge, gimple *)
Definition tree-ssa-threadedge.cc:342
int thread_through_normal_block(vec< jump_thread_edge * > *path, edge, bitmap visited, unsigned &limit)
Definition tree-ssa-threadedge.cc:782
Definition gimple-range-path.h:33
simplify(simplify_kind kind_, unsigned id_, operand *match_, operand *result_, vec< vec< user_id * > > for_vec_, cid_map_t *capture_ids_)
Definition genmatch.cc:1801
bool debug
Definition collect-utils.cc:34
struct basic_block_def * basic_block
Definition coretypes.h:351
class edge_def * edge
Definition coretypes.h:348
class bitmap_head * bitmap
Definition coretypes.h:51
union tree_node * tree
Definition coretypes.h:97
tree_code
Definition genmatch.cc:1011
poly_int< N, C > r
Definition poly-int.h:774
vec< tree > ssa_name_values
Definition tree-ssa-threadedge.cc:51
void set_ssa_name_value(tree name, tree value)
Definition tree-ssa-threadedge.cc:56
void propagate_threaded_block_debug_into(basic_block dest, basic_block src)
Definition tree-ssa-threadedge.cc:522
bool cond_on_phi_p(basic_block bb, gcond **cond_out, gphi **phi_out)
Definition tree-ssa-threadedge.cc:923
bool phi_arg_from_cmp_p(gphi *phi, edge e)
Definition tree-ssa-threadedge.cc:958
bool single_succ_to_potentially_threadable_block(basic_block bb)
Definition tree-ssa-threadedge.cc:1106