21#ifndef TREE_SSA_SCCVN_H
22#define TREE_SSA_SCCVN_H
129 return op->
align ? ((unsigned)1 << (op->
align - 1)) / BITS_PER_UNIT : 0;
188 return hstate.
end ();
Definition tree-ssa-alias.h:77
hashval_t end() const
Definition inchash.h:49
void merge_hash(hashval_t other)
Definition inchash.h:106
class edge_def * edge
Definition coretypes.h:352
class bitmap_head * bitmap
Definition coretypes.h:51
union tree_node * tree
Definition coretypes.h:97
int alias_set_type
Definition coretypes.h:349
static struct obstack obstack
Definition gcc.cc:360
tree_code
Definition genmatch.cc:992
bool types_compatible_p(tree type1, tree type2)
Definition gimple-expr.h:64
void add_expr(const_tree t, inchash::hash &hstate, unsigned int flags)
Definition fold-const.cc:4336
Definition basic-block.h:117
Definition function.h:249
Definition gengtype.h:252
Definition tree-ssa-sccvn.h:212
int location
Definition tree-ssa-sccvn.h:215
int leader
Definition tree-ssa-sccvn.h:217
vn_avail * next
Definition tree-ssa-sccvn.h:213
struct vn_ssa_aux * next_undo
Definition tree-ssa-sccvn.h:219
Definition tree-ssa-sccvn.h:159
tree constant
Definition tree-ssa-sccvn.h:162
hashval_t hashcode
Definition tree-ssa-sccvn.h:161
unsigned int value_id
Definition tree-ssa-sccvn.h:160
Definition tree-ssa-sccvn.h:49
union vn_nary_op_s::@77 u
unsigned int value_id
Definition tree-ssa-sccvn.h:53
hashval_t hashcode
Definition tree-ssa-sccvn.h:56
tree type
Definition tree-ssa-sccvn.h:64
unsigned predicated_values
Definition tree-ssa-sccvn.h:57
unsigned length
Definition tree-ssa-sccvn.h:55
tree result
Definition tree-ssa-sccvn.h:60
vn_pval * values
Definition tree-ssa-sccvn.h:62
enum tree_code opcode
Definition tree-ssa-sccvn.h:54
vn_nary_op_s * next
Definition tree-ssa-sccvn.h:50
tree op[1]
Definition tree-ssa-sccvn.h:65
vn_nary_op_s * unwind_to
Definition tree-ssa-sccvn.h:51
Definition tree-ssa-sccvn.h:84
vn_phi_s * next
Definition tree-ssa-sccvn.h:85
tree phiargs[1]
Definition tree-ssa-sccvn.h:96
tree type
Definition tree-ssa-sccvn.h:93
hashval_t hashcode
Definition tree-ssa-sccvn.h:88
tree cclhs
Definition tree-ssa-sccvn.h:91
tree ccrhs
Definition tree-ssa-sccvn.h:92
tree result
Definition tree-ssa-sccvn.h:94
basic_block block
Definition tree-ssa-sccvn.h:89
unsigned int value_id
Definition tree-ssa-sccvn.h:87
Definition tree-ssa-sccvn.h:33
vn_pval * next
Definition tree-ssa-sccvn.h:34
unsigned n
Definition tree-ssa-sccvn.h:39
tree result
Definition tree-ssa-sccvn.h:38
int valid_dominated_by_p[1]
Definition tree-ssa-sccvn.h:40
Definition tree-ssa-sccvn.h:107
enum tree_code opcode
Definition tree-ssa-sccvn.h:108
tree op1
Definition tree-ssa-sccvn.h:120
tree op2
Definition tree-ssa-sccvn.h:121
unsigned reverse
Definition tree-ssa-sccvn.h:113
tree type
Definition tree-ssa-sccvn.h:118
unsigned short clique
Definition tree-ssa-sccvn.h:111
tree op0
Definition tree-ssa-sccvn.h:119
poly_int64 off
Definition tree-ssa-sccvn.h:117
unsigned short base
Definition tree-ssa-sccvn.h:112
unsigned align
Definition tree-ssa-sccvn.h:115
Definition tree-ssa-sccvn.h:140
vec< vn_reference_op_s > operands
Definition tree-ssa-sccvn.h:152
tree result_vdef
Definition tree-ssa-sccvn.h:154
unsigned int value_id
Definition tree-ssa-sccvn.h:143
poly_int64 max_size
Definition tree-ssa-sccvn.h:149
vn_reference_s * next
Definition tree-ssa-sccvn.h:141
unsigned punned
Definition tree-ssa-sccvn.h:151
tree result
Definition tree-ssa-sccvn.h:153
alias_set_type base_set
Definition tree-ssa-sccvn.h:147
alias_set_type set
Definition tree-ssa-sccvn.h:146
hashval_t hashcode
Definition tree-ssa-sccvn.h:144
poly_int64 offset
Definition tree-ssa-sccvn.h:148
tree vuse
Definition tree-ssa-sccvn.h:145
tree type
Definition tree-ssa-sccvn.h:150
Definition tree-ssa-sccvn.h:223
tree name
Definition tree-ssa-sccvn.h:225
unsigned needs_insertion
Definition tree-ssa-sccvn.h:244
vn_avail * avail
Definition tree-ssa-sccvn.h:233
unsigned int value_id
Definition tree-ssa-sccvn.h:236
tree valnum
Definition tree-ssa-sccvn.h:227
unsigned visited
Definition tree-ssa-sccvn.h:239
gimple_seq expr
Definition tree-ssa-sccvn.h:229
#define NULL
Definition system.h:50
unsigned do_rpo_vn(function *, edge, bitmap, bool=false, bool=true, bool=false, vn_lookup_kind=VN_WALKREWRITE)
Definition tree-ssa-sccvn.cc:8873
basic_block vn_context_bb
Definition tree-ssa-sccvn.cc:2675
tree vn_nary_simplify(vn_nary_op_t)
Definition tree-ssa-sccvn.cc:2604
unsigned int get_or_alloc_constant_value_id(tree)
Definition tree-ssa-sccvn.cc:666
bool vn_reference_may_trap(vn_reference_t)
Definition tree-ssa-sccvn.cc:6628
struct vn_reference_s * vn_reference_t
void run_rpo_vn(vn_lookup_kind)
Definition tree-ssa-sccvn.cc:7651
vn_reference_t vn_reference_insert_pieces(tree, alias_set_type, alias_set_type, poly_int64, poly_int64, tree, vec< vn_reference_op_s >, tree, unsigned int)
Definition tree-ssa-sccvn.cc:4251
struct vn_phi_s * vn_phi_t
bool vn_constant_eq_with_type(tree c1, tree c2)
Definition tree-ssa-sccvn.h:195
void print_vn_reference_ops(FILE *, const vec< vn_reference_op_s >)
Definition tree-ssa-sccvn.cc:265
tree vn_nary_op_lookup_pieces(unsigned int, enum tree_code, tree, tree *, vn_nary_op_t *)
Definition tree-ssa-sccvn.cc:4461
unsigned int get_max_value_id(void)
Definition tree-ssa-sccvn.cc:6513
unsigned int get_max_constant_value_id(void)
Definition tree-ssa-sccvn.cc:6521
bool vn_nary_may_trap(vn_nary_op_t)
Definition tree-ssa-sccvn.cc:6585
tree vn_reference_lookup_pieces(tree, alias_set_type, alias_set_type, tree, vec< vn_reference_op_s >, vn_reference_t *, vn_lookup_kind)
Definition tree-ssa-sccvn.cc:3899
void vn_reference_lookup_call(gcall *, vn_reference_t *, vn_reference_t)
Definition tree-ssa-sccvn.cc:4124
vn_nary_op_t alloc_vn_nary_op_noinit(unsigned int, struct obstack *)
Definition tree-ssa-sccvn.cc:4488
unsigned eliminate_with_rpo_vn(bitmap)
Definition tree-ssa-sccvn.cc:7633
hashval_t vn_nary_op_compute_hash(const vn_nary_op_t)
Definition tree-ssa-sccvn.cc:4295
const struct vn_reference_s * const_vn_reference_t
Definition tree-ssa-sccvn.h:156
tree vn_get_expr_for(tree)
struct vn_nary_op_s * vn_nary_op_t
vn_lookup_kind
Definition tree-ssa-sccvn.h:247
@ VN_WALK
Definition tree-ssa-sccvn.h:247
@ VN_WALKREWRITE
Definition tree-ssa-sccvn.h:247
@ VN_NOWALK
Definition tree-ssa-sccvn.h:247
bool has_VN_INFO(tree)
Definition tree-ssa-sccvn.cc:447
vn_kind
Definition tree-ssa-sccvn.h:165
@ VN_CONSTANT
Definition tree-ssa-sccvn.h:165
@ VN_NARY
Definition tree-ssa-sccvn.h:165
@ VN_PHI
Definition tree-ssa-sccvn.h:165
@ VN_NONE
Definition tree-ssa-sccvn.h:165
@ VN_REFERENCE
Definition tree-ssa-sccvn.h:165
vn_reference_op_s * vn_reference_op_t
Definition tree-ssa-sccvn.h:123
tree vn_nary_op_lookup_stmt(gimple *, vn_nary_op_t *)
Definition tree-ssa-sccvn.cc:4476
vec< vn_reference_op_s > vn_reference_operands_for_lookup(tree)
Definition tree-ssa-sccvn.cc:3887
bool value_id_constant_p(unsigned int v)
Definition tree-ssa-sccvn.h:293
unsigned int vn_nary_length_from_stmt(gimple *)
Definition tree-ssa-sccvn.cc:4368
bool vn_nary_op_eq(const_vn_nary_op_t const vno1, const_vn_nary_op_t const vno2)
Definition tree-ssa-sccvn.cc:4324
struct vn_ssa_aux * vn_ssa_aux_t
vn_ssa_aux_t VN_INFO(tree)
Definition tree-ssa-sccvn.cc:453
vn_nary_op_t vn_nary_op_insert_pieces(unsigned int, enum tree_code, tree, tree *, tree, unsigned int)
Definition tree-ssa-sccvn.cc:4650
unsigned vn_ref_op_align_unit(vn_reference_op_t op)
Definition tree-ssa-sccvn.h:127
const struct vn_nary_op_s * const_vn_nary_op_t
Definition tree-ssa-sccvn.h:67
tree(* vn_valueize)(tree)
Definition tree-ssa-sccvn.cc:372
const vn_reference_op_s * const_vn_reference_op_t
Definition tree-ssa-sccvn.h:124
enum vn_kind vn_get_stmt_kind(gimple *)
Definition tree-ssa-sccvn.cc:590
unsigned int get_next_value_id(void)
Definition tree-ssa-sccvn.cc:6529
unsigned int get_next_constant_value_id(void)
Definition tree-ssa-sccvn.cc:6538
hashval_t vn_hash_type(tree type)
Definition tree-ssa-sccvn.h:172
hashval_t vn_hash_constant_with_type(tree constant)
Definition tree-ssa-sccvn.h:183
bool expressions_equal_p(tree, tree, bool=true)
Definition tree-ssa-sccvn.cc:6550
struct vn_reference_op_struct vn_reference_op_s
void scc_vn_restore_ssa_info(void)
const struct vn_phi_s * const_vn_phi_t
Definition tree-ssa-sccvn.h:98
tree fully_constant_vn_reference_p(vn_reference_t)
Definition tree-ssa-sccvn.cc:1538
size_t sizeof_vn_nary_op(unsigned int length)
Definition tree-ssa-sccvn.h:72
unsigned int get_constant_value_id(tree)
Definition tree-ssa-sccvn.cc:649
bool ao_ref_init_from_vn_reference(ao_ref *, alias_set_type, alias_set_type, tree, const vec< vn_reference_op_s > &)
Definition tree-ssa-sccvn.cc:1129
void init_vn_nary_op_from_stmt(vn_nary_op_t, gassign *)
Definition tree-ssa-sccvn.cc:4391
void free_rpo_vn(void)
Definition tree-ssa-sccvn.cc:7706
tree vn_reference_lookup(tree, tree, vn_lookup_kind, vn_reference_t *, bool, tree *=NULL, tree=NULL_TREE, bool=false)
Definition tree-ssa-sccvn.cc:3998
bool vn_reference_eq(const_vn_reference_t const, const_vn_reference_t const)
Definition tree-ssa-sccvn.cc:765
struct vn_constant_s * vn_constant_t
tree VN_TOP
Definition tree-ssa-sccvn.cc:393
#define TYPE_PRECISION(NODE)
Definition tree.h:2284
#define TYPE_UNSIGNED(NODE)
Definition tree.h:949
#define TREE_TYPE(NODE)
Definition tree.h:512
#define INTEGRAL_TYPE_P(TYPE)
Definition tree.h:613
#define NULL_TREE
Definition tree.h:317