22#ifndef GCC_GIMPLE_RANGE_GORI_H
23#define GCC_GIMPLE_RANGE_GORI_H
170 int max_sw_edges = 0);
202 tree op,
bool op_in_chain);
228#define FOR_EACH_GORI_IMPORT_NAME(gorimap, bb, name) \
229 for (gori_export_iterator iter ((gorimap)->imports ((bb))); \
230 ((name) = iter.get_name ()); \
234#define FOR_EACH_GORI_EXPORT_NAME(gorimap, bb, name) \
235 for (gori_export_iterator iter ((gorimap)->exports ((bb))); \
236 ((name) = iter.get_name ()); \
240#define FOR_EACH_GORI_EXPORT_AND_DEP_NAME(gorimap, bb, name, bm) \
241 for (gori_export_iterator iter ((gorimap)->exports_and_deps ((bb),(bm))); \
242 ((name) = iter.get_name ()); \
Definition genoutput.cc:150
Definition gimple-range-fold.h:104
gimple_outgoing_range(int max_sw_edges=0)
Definition gimple-range-edge.cc:71
Definition gimple-range-op.h:29
bool edge_range_p(vrange &r, edge e, tree name, range_query &q)
Definition gimple-range-gori.cc:1426
virtual ~gori_compute()
Definition gimple-range-gori.cc:616
int_range< 2 > m_bool_zero
Definition gimple-range-gori.h:206
void dump(FILE *f)
Definition gimple-range-gori.cc:1496
int_range< 2 > m_bool_one
Definition gimple-range-gori.h:207
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:1315
bool may_recompute_p(tree name, edge e, int depth=-1)
Definition gimple-range-gori.cc:1391
gori_map & m_map
Definition gimple-range-gori.h:180
gori_compute(gori_map &map, int not_executable_flag=0, int max_sw_edges=0)
Definition gimple-range-gori.cc:597
int m_not_executable_flag
Definition gimple-range-gori.h:210
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:1167
bool compute_operand_range_switch(vrange &r, gswitch *s, const vrange &lhs, tree name, fur_source &src)
Definition gimple-range-gori.cc:625
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:999
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:1059
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:653
int m_recompute_depth
Definition gimple-range-gori.h:211
bool has_edge_range_p(tree name, basic_block bb=NULL)
Definition gimple-range-gori.cc:1402
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:1248
range_tracer tracer
Definition gimple-range-gori.h:209
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:832
bitmap_iterator bi
Definition gimple-range-gori.h:253
tree get_name()
Definition gimple-range-gori.cc:1528
gori_export_iterator(bitmap b)
Definition gimple-range-gori.cc:1507
void next()
Definition gimple-range-gori.cc:1518
bitmap bm
Definition gimple-range-gori.h:252
unsigned y
Definition gimple-range-gori.h:254
Definition gimple-range-gori.h:95
void maybe_add_gori(tree name, basic_block bb)
Definition gimple-range-gori.cc:470
bitmap m_maybe_variant
Definition gimple-range-gori.h:112
vec< bitmap > m_incoming
Definition gimple-range-gori.h:111
bool is_import_p(tree name, basic_block bb)
Definition gimple-range-gori.cc:460
bitmap exports_and_deps(basic_block bb, bitmap tmpbit)
Definition gimple-range-gori.cc:405
gori_map()
Definition gimple-range-gori.cc:374
~gori_map()
Definition gimple-range-gori.cc:385
vec< bitmap > m_outgoing
Definition gimple-range-gori.h:110
void dump(FILE *f)
Definition gimple-range-gori.cc:580
bitmap imports(basic_block bb)
Definition gimple-range-gori.cc:426
bitmap exports(basic_block bb)
Definition gimple-range-gori.cc:394
void calculate_gori(basic_block bb)
Definition gimple-range-gori.cc:494
void set_range_invariant(tree name, bool invariant=true)
Definition gimple-range-gori.cc:449
bool is_export_p(tree name, basic_block bb=NULL)
Definition gimple-range-gori.cc:437
Definition value-range.h:388
Definition value-range.h:291
tree depend1(tree name) const
Definition gimple-range-gori.h:65
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:316
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:55
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
void clear(tree name)
Definition gimple-range-gori.cc:301
bitmap_obstack m_bitmaps
Definition gimple-range-gori.h:47
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:57
tree depend2(tree name) const
Definition gimple-range-gori.h:79
Definition value-query.h:55
Definition gimple-range-trace.h:30
Definition gimple-range-cache.h:58
Definition value-relation.h:456
Definition value-range.h:88
bool verbose
Definition collect-utils.cc:35
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
static struct string2counter_map map[debug_counter_number_of_counters]
Definition dbgcnt.cc:39
tree_code
Definition genmatch.cc:1002
bool op2_range(vrange &r, gimple *s, const vrange &lhs, range_query *q)
Definition gimple-range-fold.cc:375
bool op1_range(vrange &r, gimple *s, const vrange &lhs, range_query *q)
Definition gimple-range-fold.cc:338
bool gori_name_on_edge(vrange &r, tree name, edge e, range_query *q=NULL)
Definition gimple-range-gori.cc:1749
bool gori_on_edge(class ssa_cache &r, edge e, range_query *query=NULL)
Definition gimple-range-gori.cc:1677
poly_int< N, C > r
Definition poly-int.h:774
Ca const poly_int< N, Cb > & b
Definition poly-int.h:771
Definition loop-invariant.cc:88
Definition loop-invariant.cc:101
Definition gimple-range-gori.h:49
bitmap m_import
Definition gimple-range-gori.h:53
unsigned int ssa1
Definition gimple-range-gori.h:50
unsigned int ssa2
Definition gimple-range-gori.h:51
bitmap bm
Definition gimple-range-gori.h:52
#define NULL
Definition system.h:58
#define ssa_name(i)
Definition tree-ssanames.h:53
#define SSA_NAME_VERSION(NODE)
Definition tree.h:2290
#define NULL_TREE
Definition tree.h:318
enum relation_kind_t relation_kind