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
struct basic_block_def * basic_block
Definition coretypes.h:355
class edge_def * edge
Definition coretypes.h:352
gimple * gimple_seq
Definition coretypes.h:100
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:364
tree_code
Definition genmatch.cc:1002
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:4354
poly_int< NUM_POLY_INT_COEFFS, HOST_WIDE_INT > poly_int64
Definition poly-int-types.h:24
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
unsigned int value_id
Definition tree-ssa-sccvn.h:53
union vn_nary_op_s::@177237217005337261152214164153323004332112370125 u
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
basic_block vn_context_bb
Definition tree-ssa-sccvn.cc:371
tree(* vn_valueize)(tree)
Definition tree-ssa-sccvn.cc:376
bool expressions_equal_p(tree e1, tree e2, bool match_vn_top_optimistically)
Definition tree-ssa-sccvn.cc:6603
tree VN_TOP
Definition tree-ssa-sccvn.cc:397
unsigned do_rpo_vn(function *, edge, bitmap, bool=false, bool=true, bool=false, vn_lookup_kind=VN_WALKREWRITE)
Definition tree-ssa-sccvn.cc:8928
bool vn_pp_nary_for_addr(const vec< vn_reference_op_s > &, tree[2])
Definition tree-ssa-sccvn.cc:4012
tree vn_nary_simplify(vn_nary_op_t)
Definition tree-ssa-sccvn.cc:2614
unsigned int get_or_alloc_constant_value_id(tree)
Definition tree-ssa-sccvn.cc:670
bool vn_reference_may_trap(vn_reference_t)
Definition tree-ssa-sccvn.cc:6681
struct vn_reference_s * vn_reference_t
void run_rpo_vn(vn_lookup_kind)
Definition tree-ssa-sccvn.cc:7706
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:4272
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:4482
unsigned int get_max_value_id(void)
Definition tree-ssa-sccvn.cc:6566
unsigned int get_max_constant_value_id(void)
Definition tree-ssa-sccvn.cc:6574
bool vn_nary_may_trap(vn_nary_op_t)
Definition tree-ssa-sccvn.cc:6638
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:3923
void vn_reference_lookup_call(gcall *, vn_reference_t *, vn_reference_t)
Definition tree-ssa-sccvn.cc:4164
vn_nary_op_t alloc_vn_nary_op_noinit(unsigned int, struct obstack *)
Definition tree-ssa-sccvn.cc:4509
unsigned eliminate_with_rpo_vn(bitmap)
Definition tree-ssa-sccvn.cc:7688
hashval_t vn_nary_op_compute_hash(const vn_nary_op_t)
Definition tree-ssa-sccvn.cc:4316
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:451
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:4497
vec< vn_reference_op_s > vn_reference_operands_for_lookup(tree)
Definition tree-ssa-sccvn.cc:3911
bool value_id_constant_p(unsigned int v)
Definition tree-ssa-sccvn.h:294
unsigned int vn_nary_length_from_stmt(gimple *)
Definition tree-ssa-sccvn.cc:4389
bool vn_nary_op_eq(const_vn_nary_op_t const vno1, const_vn_nary_op_t const vno2)
Definition tree-ssa-sccvn.cc:4345
struct vn_ssa_aux * vn_ssa_aux_t
vn_ssa_aux_t VN_INFO(tree)
Definition tree-ssa-sccvn.cc:457
vn_nary_op_t vn_nary_op_insert_pieces(unsigned int, enum tree_code, tree, tree *, tree, unsigned int)
Definition tree-ssa-sccvn.cc:4671
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
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:594
unsigned int get_next_value_id(void)
Definition tree-ssa-sccvn.cc:6582
unsigned int get_next_constant_value_id(void)
Definition tree-ssa-sccvn.cc:6591
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:6603
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:1542
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:653
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:1133
void init_vn_nary_op_from_stmt(vn_nary_op_t, gassign *)
Definition tree-ssa-sccvn.cc:4412
void free_rpo_vn(void)
Definition tree-ssa-sccvn.cc:7761
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:4057
bool vn_reference_eq(const_vn_reference_t const, const_vn_reference_t const)
Definition tree-ssa-sccvn.cc:769
struct vn_constant_s * vn_constant_t
#define TYPE_PRECISION(NODE)
Definition tree.h:2330
#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