22#ifndef GCC_GIMPLE_RANGE_H
23#define GCC_GIMPLE_RANGE_H
58 virtual void dump (FILE *f)
override;
82 bool use_imm_uses =
true);
Definition gimple-range.h:86
ssa_lazy_cache global
Definition gimple-range.h:99
void dump(FILE *f)
Definition gimple-range.cc:872
void check_taken_edge(edge e, fur_source &src)
Definition gimple-range.cc:830
bool assume_range_p(vrange &r, tree name)
Definition gimple-range.cc:708
virtual bool range_of_expr(vrange &r, tree expr, gimple *=NULL)
Definition gimple-range.cc:718
assume_query()
Definition gimple-range.cc:732
~assume_query()
Definition gimple-range.cc:765
void calculate_stmt(gimple *s, vrange &lhs_range, fur_source &src)
Definition gimple-range.cc:844
void calculate_op(tree op, gimple *s, vrange &lhs, fur_source &src)
Definition gimple-range.cc:774
void calculate_phi(gphi *phi, vrange &lhs_range, fur_source &src)
Definition gimple-range.cc:793
Definition gimple-range.h:106
range_tracer tracer
Definition gimple-range.h:125
void post_bb(basic_block bb)
Definition gimple-range.cc:1116
~dom_ranger()
Definition gimple-range.cc:922
bitmap_obstack m_bitmaps
Definition gimple-range.h:119
void pre_bb(basic_block bb)
Definition gimple-range.cc:1064
virtual bool range_of_expr(vrange &r, tree expr, gimple *s=NULL) override
Definition gimple-range.cc:939
vec< ssa_lazy_cache * > m_freelist
Definition gimple-range.h:123
virtual bool range_of_stmt(vrange &r, gimple *s, tree name=NULL) override
Definition gimple-range.cc:1020
dom_ranger()
Definition gimple-range.cc:909
virtual bool range_on_edge(vrange &r, edge e, tree expr) override
Definition gimple-range.cc:972
vec< ssa_lazy_cache * > m_bb
Definition gimple-range.h:124
void range_in_bb(vrange &r, basic_block bb, tree name)
Definition gimple-range.cc:999
DISABLE_COPY_AND_ASSIGN(dom_ranger)
ssa_cache m_global
Definition gimple-range.h:122
Definition genmatch.cc:845
Definition gimple-range-fold.h:105
Definition gimple-range.h:48
bool fold_range_internal(vrange &r, gimple *s, tree name)
Definition gimple-range.cc:273
void dump_bb(FILE *f, basic_block bb)
Definition gimple-range.cc:582
basic_block current_bb
Definition gimple-range.h:72
virtual bool range_of_stmt(vrange &r, gimple *, tree name=NULL) override
Definition gimple-range.cc:287
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:73
range_query & const_query()
Definition gimple-range.cc:76
range_tracer tracer
Definition gimple-range.h:71
virtual bool range_on_exit(vrange &r, basic_block bb, tree name) override
Definition gimple-range.cc:186
void debug()
Definition gimple-range.cc:670
void prefill_stmt_dependencies(tree ssa)
Definition gimple-range.cc:380
virtual void dump(FILE *f) override
Definition gimple-range.cc:659
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:478
ranger_cache m_cache
Definition gimple-range.h:70
auto_edge_flag non_executable_edge_flag
Definition gimple-range.h:61
void register_inferred_ranges(gimple *s)
Definition gimple-range.cc:491
void export_global_ranges()
Definition gimple-range.cc:556
~gimple_ranger()
Definition gimple-range.cc:68
void prefill_name(vrange &r, tree name)
Definition gimple-range.cc:358
virtual bool range_on_entry(vrange &r, basic_block bb, tree name) override
Definition gimple-range.cc:156
virtual bool range_on_edge(vrange &r, edge e, tree name) override
Definition gimple-range.cc:220
void register_transitive_inferred_ranges(basic_block bb)
Definition gimple-range.cc:509
Definition gimple-range-path.h:33
Definition value-query.h:55
Definition gimple-range-trace.h:30
Definition gimple-range-cache.h:102
Definition gimple-range-cache.h:57
Definition gimple-range-cache.h:79
Definition value-range.h:78
class edge_def * edge
Definition coretypes.h:352
union tree_node * tree
Definition coretypes.h:97
gimple_ranger * enable_ranger(struct function *m, bool use_imm_uses=true)
Definition gimple-range.cc:680
void disable_ranger(struct function *)
Definition gimple-range.cc:695
poly_int< N, C > r
Definition poly-int.h:774
Definition basic-block.h:117
Definition function.h:249
Definition gimple-iterator.h:26
#define NULL
Definition system.h:50