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
tree simplify(gimple *stmt, gimple *, basic_block, jt_state *) override
Definition tree-ssa-threadedge.cc:1333
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 debug()
Definition tree-ssa-threadedge.cc:1200
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
~jump_threader()
Definition tree-ssa-threadedge.cc:79
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
static struct path_prefix cpath path
Definition collect2.cc:514
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
static bitmap visited
Definition tree-ssa-dce.cc:664
vec< tree > ssa_name_values
Definition tree-ssa-threadedge.cc:51
void set_ssa_name_value(tree, tree)
Definition tree-ssa-threadedge.cc:56
bool cond_on_phi_p(basic_block, gcond **, gphi **)
Definition tree-ssa-threadedge.cc:923
void propagate_threaded_block_debug_into(basic_block, basic_block)
Definition tree-ssa-threadedge.cc:522
bool single_succ_to_potentially_threadable_block(basic_block)
Definition tree-ssa-threadedge.cc:1106
bool phi_arg_from_cmp_p(gphi *, edge)
Definition tree-ssa-threadedge.cc:958