20#ifndef GCC_TREE_SSA_THREADEDGE_H
21#define GCC_TREE_SSA_THREADEDGE_H
128#define SSA_NAME_VALUE(x) \
129 (SSA_NAME_VERSION (x) < ssa_name_values.length () \
130 ? ssa_name_values[SSA_NAME_VERSION (x)] \
Definition basic-block.h:26
Definition tree-ssa-threadupdate.h:89
Definition gimple-range.h:48
Definition tree-ssa-threadedge.h:66
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:1459
tree simplify(gimple *stmt, gimple *, basic_block, jt_state *) override
Definition tree-ssa-threadedge.cc:1422
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:1414
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:1289
void dump(FILE *)
Definition tree-ssa-threadedge.cc:1278
virtual void pop()
Definition tree-ssa-threadedge.cc:1257
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:1327
void append_path(basic_block)
Definition tree-ssa-threadedge.cc:1271
void get_path(vec< basic_block > &)
Definition tree-ssa-threadedge.cc:1299
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:1340
virtual void push(edge)
Definition tree-ssa-threadedge.cc:1246
virtual void register_equivs_edge(edge e)
Definition tree-ssa-threadedge.cc:1335
virtual void register_equiv(tree dest, tree src, bool update_range)
Definition tree-ssa-threadedge.cc:1316
virtual ~jt_state()
Definition tree-ssa-threadedge.h:29
Definition tree-ssa-threadedge.h:86
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:479
jump_threader(jt_simplifier *, class jt_state *)
Definition tree-ssa-threadedge.cc:64
bool thread_around_empty_blocks(vec< class jump_thread_edge * > *path, edge, bitmap visited, unsigned &limit)
Definition tree-ssa-threadedge.cc:787
bool thread_through_all_blocks(bool may_peel_loop_headers)
Definition tree-ssa-threadedge.cc:92
jt_simplifier * m_simplifier
Definition tree-ssa-threadedge.h:115
void thread_outgoing_edges(basic_block)
Definition tree-ssa-threadedge.cc:1207
~jump_threader()
Definition tree-ssa-threadedge.cc:78
gimple * record_temporary_equivalences_from_stmts_at_dest(edge)
Definition tree-ssa-threadedge.cc:216
void thread_across_edge(edge)
Definition tree-ssa-threadedge.cc:1076
bool record_temporary_equivalences_from_phis(edge)
Definition tree-ssa-threadedge.cc:152
void remove_jump_threads_including(edge_def *)
Definition tree-ssa-threadedge.cc:86
tree simplify_control_stmt_condition(edge, gimple *)
Definition tree-ssa-threadedge.cc:341
int thread_through_normal_block(vec< jump_thread_edge * > *path, edge, bitmap visited, unsigned &limit)
Definition tree-ssa-threadedge.cc:906
Definition gimple-range-path.h:33
class edge_def * edge
Definition coretypes.h:345
class bitmap_head * bitmap
Definition coretypes.h:51
union tree_node * tree
Definition coretypes.h:97
tree_code
Definition genmatch.cc:347
poly_int< N, C > r
Definition poly-int.h:774
Definition basic-block.h:117
static bitmap visited
Definition tree-ssa-dce.cc:536
void set_ssa_name_value(tree, tree)
Definition tree-ssa-threadedge.cc:55
vec< tree > ssa_name_values
Definition tree-ssa-threadedge.cc:50
void propagate_threaded_block_debug_into(basic_block, basic_block)
Definition tree-ssa-threadedge.cc:646
bool single_succ_to_potentially_threadable_block(basic_block)
Definition tree-ssa-threadedge.cc:1195