22#ifndef GCC_GIMPLE_RANGE_H
23#define GCC_GIMPLE_RANGE_H
60 virtual void dump (FILE *f)
override;
84 bool use_imm_uses =
true);
range_tracer tracer
Definition gimple-range.h:110
void post_bb(basic_block bb)
Definition gimple-range.cc:952
~dom_ranger()
Definition gimple-range.cc:758
bitmap_obstack m_bitmaps
Definition gimple-range.h:104
void pre_bb(basic_block bb)
Definition gimple-range.cc:900
virtual bool range_of_expr(vrange &r, tree expr, gimple *s=NULL) override
Definition gimple-range.cc:775
vec< ssa_lazy_cache * > m_freelist
Definition gimple-range.h:108
virtual bool range_of_stmt(vrange &r, gimple *s, tree name=NULL) override
Definition gimple-range.cc:856
dom_ranger()
Definition gimple-range.cc:745
virtual bool range_on_edge(vrange &r, edge e, tree expr) override
Definition gimple-range.cc:808
vec< ssa_lazy_cache * > m_bb
Definition gimple-range.h:109
void range_in_bb(vrange &r, basic_block bb, tree name)
Definition gimple-range.cc:835
DISABLE_COPY_AND_ASSIGN(dom_ranger)
ssa_cache m_global
Definition gimple-range.h:107
Definition genmatch.cc:1506
Definition gimple-range.h:48
bool fold_range_internal(vrange &r, gimple *s, tree name)
Definition gimple-range.cc:278
void dump_bb(FILE *f, basic_block bb)
Definition gimple-range.cc:612
basic_block current_bb
Definition gimple-range.h:74
virtual bool range_of_stmt(vrange &r, gimple *, tree name=NULL) override
Definition gimple-range.cc:292
virtual bool range_of_expr(vrange &r, tree name, gimple *=NULL) override
Definition gimple-range.cc:82
vec< tree > m_stmt_list
Definition gimple-range.h:75
range_query & const_query()
Definition gimple-range.cc:76
range_tracer tracer
Definition gimple-range.h:73
virtual bool range_on_exit(vrange &r, basic_block bb, tree name) override
Definition gimple-range.cc:186
void debug()
Definition gimple-range.cc:700
void prefill_stmt_dependencies(tree ssa)
Definition gimple-range.cc:385
virtual void dump(FILE *f) override
Definition gimple-range.cc:689
gimple_ranger(bool use_imm_uses=true)
Definition gimple-range.cc:40
bool fold_stmt(gimple_stmt_iterator *gsi, tree(*)(tree))
Definition gimple-range.cc:485
ranger_cache m_cache
Definition gimple-range.h:72
auto_edge_flag non_executable_edge_flag
Definition gimple-range.h:63
virtual void update_range_info(tree) override
Definition gimple-range.cc:562
void register_inferred_ranges(gimple *s)
Definition gimple-range.cc:498
void export_global_ranges()
Definition gimple-range.cc:586
~gimple_ranger()
Definition gimple-range.cc:68
void prefill_name(vrange &r, tree name)
Definition gimple-range.cc:363
virtual bool range_on_entry(vrange &r, basic_block bb, tree name) override
Definition gimple-range.cc:156
friend class path_range_query
Definition gimple-range.h:76
virtual bool range_on_edge(vrange &r, edge e, tree name) override
Definition gimple-range.cc:225
void register_transitive_inferred_ranges(basic_block bb)
Definition gimple-range.cc:516
range_query()
Definition value-query.cc:283
Definition gimple-range-trace.h:30
Definition gimple-range-cache.h:102
Definition gimple-range-cache.h:57
Definition value-range.h:88
struct basic_block_def * basic_block
Definition coretypes.h:372
class edge_def * edge
Definition coretypes.h:369
union tree_node * tree
Definition coretypes.h:97
gimple_ranger * enable_ranger(struct function *m, bool use_imm_uses=true)
Definition gimple-range.cc:710
void disable_ranger(struct function *)
Definition gimple-range.cc:725
poly_int< N, C > r
Definition poly-int.h:774
Definition function.h:249
Definition gimple-iterator.h:26
#define NULL
Definition system.h:50