21#ifndef GCC_TREE_SCALAR_EVOLUTION_H
22#define GCC_TREE_SCALAR_EVOLUTION_H
#define ENTRY_BLOCK_PTR_FOR_FN(FN)
Definition basic-block.h:194
edge loop_preheader_edge(const class loop *loop)
Definition cfgloop.cc:1758
class loop * get_loop(struct function *fn, unsigned num)
Definition cfgloop.h:530
class loop * loop_p
Definition cfgloop.h:98
struct basic_block_def * basic_block
Definition coretypes.h:359
class edge_def * edge
Definition coretypes.h:356
const class edge_def * const_edge
Definition coretypes.h:357
const union tree_node * const_tree
Definition coretypes.h:98
union tree_node * tree
Definition coretypes.h:97
#define cfun
Definition function.h:485
Definition tree-ssa-loop.h:27
void record_nonwrapping_chrec(tree chrec)
Definition tree-scalar-evolution.cc:2236
void scev_reset_htab(void)
Definition tree-scalar-evolution.cc:3216
void scev_finalize(void)
Definition tree-scalar-evolution.cc:3571
void scev_initialize(void)
Definition tree-scalar-evolution.cc:3192
bool scev_initialized_p(void)
Definition tree-scalar-evolution.cc:3207
void scev_combine_nowrap_bounds(tree *base, tree bound)
Definition tree-scalar-evolution.cc:414
static bool expression_expensive_p(tree expr, bool *cond_overflow_p, hash_map< tree, uint64_t > &cache, uint64_t &cost)
Definition tree-scalar-evolution.cc:3597
tree resolve_mixers(class loop *loop, tree chrec, bool *folded_casts)
Definition tree-scalar-evolution.cc:2952
void scev_reset(void)
Definition tree-scalar-evolution.cc:3231
tree analyze_scalar_evolution(class loop *loop, tree var, tree *nowrap_bound)
Definition tree-scalar-evolution.cc:2192
bool nonwrapping_chrec_p(tree chrec)
Definition tree-scalar-evolution.cc:2250
bool final_value_replacement_loop(class loop *loop)
Definition tree-scalar-evolution.cc:4056
gcond * get_loop_exit_condition(const class loop *loop)
Definition tree-scalar-evolution.cc:1378
tree number_of_latch_executions(class loop *loop)
Definition tree-scalar-evolution.cc:3001
void gather_stats_on_scev_database(void)
Definition tree-scalar-evolution.cc:3167
tree compute_overall_effect_of_inner_loop(class loop *loop, tree evolution_fn)
Definition tree-scalar-evolution.cc:485
bool simple_iv(class loop *wrto_loop, class loop *use_loop, tree op, affine_iv *iv, bool allow_nonconstant_step, bool record_nowrap_bounds)
Definition tree-scalar-evolution.cc:3559
tree instantiate_scev(edge instantiate_below, class loop *evolution_loop, tree chrec)
Definition tree-scalar-evolution.cc:2903
bool simple_iv_with_niters(class loop *wrto_loop, class loop *use_loop, tree op, affine_iv *iv, tree *iv_niters, bool allow_nonconstant_step, bool record_nowrap_bounds)
Definition tree-scalar-evolution.cc:3404
bool iv_can_overflow_p(class loop *loop, tree type, tree base, tree step)
Definition tree-scalar-evolution.cc:3248
class loop * get_chrec_loop(const_tree chrec)
Definition tree-scalar-evolution.h:75
basic_block block_before_loop(loop_p loop)
Definition tree-scalar-evolution.h:56
tree instantiate_parameters(class loop *loop, tree chrec)
Definition tree-scalar-evolution.h:67
unsigned int scev_const_prop(void)
#define CHREC_VARIABLE(NODE)
Definition tree.h:1495