22#ifndef GCC_GIMPLE_RANGE_GORI_H
23#define GCC_GIMPLE_RANGE_GORI_H
168 int max_sw_edges = 0);
200 tree op,
bool op_in_chain);
226#define FOR_EACH_GORI_IMPORT_NAME(gorimap, bb, name) \
227 for (gori_export_iterator iter ((gorimap)->imports ((bb))); \
228 ((name) = iter.get_name ()); \
232#define FOR_EACH_GORI_EXPORT_NAME(gorimap, bb, name) \
233 for (gori_export_iterator iter ((gorimap)->exports ((bb))); \
234 ((name) = iter.get_name ()); \
Definition genoutput.cc:150
Definition gimple-range-fold.h:105
Definition gimple-range-edge.h:48
Definition gimple-range-op.h:29
Definition gimple-range-gori.h:165
bool edge_range_p(vrange &r, edge e, tree name, range_query &q)
Definition gimple-range-gori.cc:1388
virtual ~gori_compute()
Definition gimple-range-gori.cc:579
int_range< 2 > m_bool_zero
Definition gimple-range-gori.h:204
void dump(FILE *f)
Definition gimple-range-gori.cc:1458
int_range< 2 > m_bool_one
Definition gimple-range-gori.h:205
bool compute_operand1_and_operand2_range(vrange &r, gimple_range_op_handler &handler, const vrange &lhs, tree name, fur_source &src, value_relation *rel=NULL)
Definition gimple-range-gori.cc:1278
bool may_recompute_p(tree name, edge e, int depth=-1)
Definition gimple-range-gori.cc:1353
gori_map & m_map
Definition gimple-range-gori.h:178
gori_compute(gori_map &map, int not_executable_flag=0, int max_sw_edges=0)
Definition gimple-range-gori.cc:560
int m_not_executable_flag
Definition gimple-range-gori.h:208
bool compute_operand1_range(vrange &r, gimple_range_op_handler &handler, const vrange &lhs, fur_source &src, value_relation *rel=NULL)
Definition gimple-range-gori.cc:1130
bool compute_operand_range_switch(vrange &r, gswitch *s, const vrange &lhs, tree name, fur_source &src)
Definition gimple-range-gori.cc:588
void compute_logical_operands(vrange &true_range, vrange &false_range, gimple_range_op_handler &handler, const irange &lhs, tree name, fur_source &src, tree op, bool op_in_chain)
Definition gimple-range-gori.cc:962
bool refine_using_relation(tree op1, vrange &op1_range, tree op2, vrange &op2_range, fur_source &src, relation_kind k)
Definition gimple-range-gori.cc:1022
bool compute_operand_range(vrange &r, gimple *stmt, const vrange &lhs, tree name, class fur_source &src, value_relation *rel=NULL)
Definition gimple-range-gori.cc:616
int m_recompute_depth
Definition gimple-range-gori.h:209
bool has_edge_range_p(tree name, basic_block bb=NULL)
Definition gimple-range-gori.cc:1364
bool compute_operand2_range(vrange &r, gimple_range_op_handler &handler, const vrange &lhs, fur_source &src, value_relation *rel=NULL)
Definition gimple-range-gori.cc:1211
range_tracer tracer
Definition gimple-range-gori.h:207
bool logical_combine(vrange &r, enum tree_code code, const irange &lhs, const vrange &op1_true, const vrange &op1_false, const vrange &op2_true, const vrange &op2_false)
Definition gimple-range-gori.cc:795
Definition gimple-range-gori.h:238
bitmap_iterator bi
Definition gimple-range-gori.h:245
tree get_name()
Definition gimple-range-gori.cc:1490
gori_export_iterator(bitmap b)
Definition gimple-range-gori.cc:1469
void next()
Definition gimple-range-gori.cc:1480
bitmap bm
Definition gimple-range-gori.h:244
unsigned y
Definition gimple-range-gori.h:246
Definition gimple-range-gori.h:94
void maybe_add_gori(tree name, basic_block bb)
Definition gimple-range-gori.cc:433
bitmap m_maybe_variant
Definition gimple-range-gori.h:110
vec< bitmap > m_incoming
Definition gimple-range-gori.h:109
bool is_import_p(tree name, basic_block bb)
Definition gimple-range-gori.cc:423
gori_map()
Definition gimple-range-gori.cc:359
~gori_map()
Definition gimple-range-gori.cc:370
vec< bitmap > m_outgoing
Definition gimple-range-gori.h:108
void dump(FILE *f)
Definition gimple-range-gori.cc:543
bitmap imports(basic_block bb)
Definition gimple-range-gori.cc:389
bitmap exports(basic_block bb)
Definition gimple-range-gori.cc:379
void calculate_gori(basic_block bb)
Definition gimple-range-gori.cc:457
void set_range_invariant(tree name, bool invariant=true)
Definition gimple-range-gori.cc:412
bool is_export_p(tree name, basic_block bb=NULL)
Definition gimple-range-gori.cc:400
Definition value-range.h:367
Definition value-range.h:273
Definition gimple-range-gori.h:30
tree depend1(tree name) const
Definition gimple-range-gori.h:64
bool in_chain_p(tree name, tree def)
Definition gimple-range-gori.cc:116
void dump(FILE *f, basic_block bb, const char *prefix=NULL)
Definition gimple-range-gori.cc:301
void set_import(struct rdc &data, tree imp, bitmap b)
Definition gimple-range-gori.cc:132
void register_dependency(tree name, tree ssa1, basic_block bb=NULL)
Definition gimple-range-gori.cc:170
bitmap get_def_chain(tree name)
Definition gimple-range-gori.cc:255
bool has_def_chain(tree name)
Definition gimple-range-gori.cc:238
vec< rdc > m_def_chain
Definition gimple-range-gori.h:54
range_def_chain()
Definition gimple-range-gori.cc:96
bool def_chain_in_bitmap_p(tree name, bitmap b)
Definition gimple-range-gori.cc:218
~range_def_chain()
Definition gimple-range-gori.cc:106
bool chain_import_p(tree name, tree import)
Definition gimple-range-gori.cc:159
bitmap get_imports(tree name)
Definition gimple-range-gori.cc:148
bitmap_obstack m_bitmaps
Definition gimple-range-gori.h:46
void add_def_chain_to_bitmap(bitmap b, tree name)
Definition gimple-range-gori.cc:227
int m_logical_depth
Definition gimple-range-gori.h:56
tree depend2(tree name) const
Definition gimple-range-gori.h:78
Definition value-query.h:55
Definition gimple-range-trace.h:30
Definition gimple-range-cache.h:57
Definition value-relation.h:421
Definition value-range.h:78
bool verbose
Definition collect-utils.cc:35
class edge_def * edge
Definition coretypes.h:345
class bitmap_head * bitmap
Definition coretypes.h:51
union tree_node * tree
Definition coretypes.h:97
static struct string2counter_map map[debug_counter_number_of_counters]
Definition dbgcnt.cc:39
tree_code
Definition genmatch.cc:347
bool op2_range(vrange &r, gimple *s, const vrange &lhs, range_query *q)
Definition gimple-range-fold.cc:371
bool gori_name_on_edge(vrange &r, tree name, edge e, range_query *q=NULL)
Definition gimple-range-gori.cc:1706
bool gori_on_edge(class ssa_cache &r, edge e, range_query *query=NULL)
Definition gimple-range-gori.cc:1639
poly_int< N, C > r
Definition poly-int.h:774
Ca const poly_int< N, Cb > & b
Definition poly-int.h:771
Definition basic-block.h:117
Definition loop-invariant.cc:88
Definition loop-invariant.cc:101
Definition gimple-range-gori.h:48
bitmap m_import
Definition gimple-range-gori.h:52
unsigned int ssa1
Definition gimple-range-gori.h:49
unsigned int ssa2
Definition gimple-range-gori.h:50
bitmap bm
Definition gimple-range-gori.h:51
#define NULL
Definition system.h:50
#define ssa_name(i)
Definition tree-ssanames.h:53
#define SSA_NAME_VERSION(NODE)
Definition tree.h:2110
#define NULL_TREE
Definition tree.h:317
enum relation_kind_t relation_kind