22#ifndef GCC_GIMPLE_RANGE_H
23#define GCC_GIMPLE_RANGE_H
60 virtual void dump (FILE *f)
override;
91 bool use_imm_uses =
true);
range_tracer tracer
Definition gimple-range.h:117
void post_bb(basic_block bb)
Definition gimple-range.cc:989
~dom_ranger()
Definition gimple-range.cc:786
bitmap_obstack m_bitmaps
Definition gimple-range.h:111
void pre_bb(basic_block bb)
Definition gimple-range.cc:937
virtual bool range_of_expr(vrange &r, tree expr, gimple *s=NULL) override
Definition gimple-range.cc:803
vec< ssa_lazy_cache * > m_freelist
Definition gimple-range.h:115
virtual bool range_of_stmt(vrange &r, gimple *s, tree name=NULL) override
Definition gimple-range.cc:890
dom_ranger()
Definition gimple-range.cc:773
virtual bool range_on_edge(vrange &r, edge e, tree expr) override
Definition gimple-range.cc:839
vec< ssa_lazy_cache * > m_bb
Definition gimple-range.h:116
void range_in_bb(vrange &r, basic_block bb, tree name)
Definition gimple-range.cc:869
DISABLE_COPY_AND_ASSIGN(dom_ranger)
ssa_cache m_global
Definition gimple-range.h:114
Definition genmatch.cc:1507
Definition gimple-range.h:48
bool fold_range_internal(vrange &r, gimple *s, tree name)
Definition gimple-range.cc:299
void dump_bb(FILE *f, basic_block bb)
Definition gimple-range.cc:640
basic_block current_bb
Definition gimple-range.h:80
virtual bool range_of_stmt(vrange &r, gimple *, tree name=NULL) override
Definition gimple-range.cc:313
virtual bool range_of_expr(vrange &r, tree name, gimple *=NULL) override
Definition gimple-range.cc:90
vec< tree > m_stmt_list
Definition gimple-range.h:81
range_query & const_query()
Definition gimple-range.cc:81
range_tracer tracer
Definition gimple-range.h:79
virtual bool range_on_exit(vrange &r, basic_block bb, tree name) override
Definition gimple-range.cc:201
void debug()
Definition gimple-range.cc:728
void prefill_stmt_dependencies(tree ssa)
Definition gimple-range.cc:424
virtual void dump(FILE *f) override
Definition gimple-range.cc:717
gimple_ranger(bool use_imm_uses=true)
Definition gimple-range.cc:41
bool fold_stmt(gimple_stmt_iterator *gsi, tree(*)(tree))
Definition gimple-range.cc:513
ranger_cache m_cache
Definition gimple-range.h:78
auto_edge_flag non_executable_edge_flag
Definition gimple-range.h:63
bool prefill_name(tree name)
Definition gimple-range.cc:386
bitmap m_active_prefill
Definition gimple-range.h:82
virtual void update_range_info(tree) override
Definition gimple-range.cc:590
void register_inferred_ranges(gimple *s)
Definition gimple-range.cc:526
void export_global_ranges()
Definition gimple-range.cc:614
~gimple_ranger()
Definition gimple-range.cc:71
virtual bool range_on_entry(vrange &r, basic_block bb, tree name) override
Definition gimple-range.cc:168
friend class path_range_query
Definition gimple-range.h:83
virtual bool range_on_edge(vrange &r, edge e, tree name) override
Definition gimple-range.cc:243
void register_transitive_inferred_ranges(basic_block bb)
Definition gimple-range.cc:544
vec< prefill_frame > m_prefill_stack
Definition gimple-range.h:75
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: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
gimple_ranger * enable_ranger(struct function *m, bool use_imm_uses=true)
Definition gimple-range.cc:738
void disable_ranger(struct function *)
Definition gimple-range.cc:753
poly_int< N, C > r
Definition poly-int.h:774
Definition function.h:249
Definition gimple-range.h:71
unsigned next_op
Definition gimple-range.h:73
tree name
Definition gimple-range.h:72
Definition gimple-iterator.h:26
#define NULL
Definition system.h:50