GCC Middle and Back End API Reference
|
#include <tree-ssa-sccvn.h>
Data Fields | |
vn_reference_s * | next |
unsigned int | value_id |
hashval_t | hashcode |
tree | vuse |
alias_set_type | set |
alias_set_type | base_set |
poly_int64 | offset |
poly_int64 | max_size |
tree | type |
unsigned | punned: 1 |
vec< vn_reference_op_s > | operands |
tree | result |
tree | result_vdef |
A reference operation in the hashtable is representation as the vuse, representing the memory state at the time of the operation, and a collection of operands that make up the addressing calculation. If two vn_reference_t's have the same set of operands, they access the same memory location. We also store the resulting value number, and the hashcode.
alias_set_type vn_reference_s::base_set |
Referenced by compute_avail(), eliminate_dom_walker::eliminate_stmt(), phi_translate_1(), value_dies_in_block_x(), visit_reference_op_call(), visit_reference_op_store(), vn_reference_insert(), vn_reference_insert_pieces(), vn_reference_lookup(), vn_reference_lookup_2(), vn_reference_lookup_call(), vn_reference_lookup_or_insert_for_pieces(), and vn_reference_lookup_pieces().
hashval_t vn_reference_s::hashcode |
Referenced by do_unwind(), vn_reference_hasher::hash(), visit_reference_op_call(), vn_reference_eq(), vn_reference_insert(), vn_reference_insert_pieces(), vn_reference_lookup(), vn_reference_lookup_1(), vn_reference_lookup_2(), vn_reference_lookup_3(), vn_reference_lookup_call(), vn_reference_lookup_or_insert_for_pieces(), and vn_reference_lookup_pieces().
poly_int64 vn_reference_s::max_size |
Referenced by vn_walk_cb_data::finish(), phi_translate_1(), visit_reference_op_call(), vn_reference_eq(), vn_reference_insert(), vn_reference_insert_pieces(), vn_reference_lookup(), vn_reference_lookup_3(), vn_reference_lookup_call(), vn_reference_lookup_or_insert_for_pieces(), and vn_reference_lookup_pieces().
vn_reference_s* vn_reference_s::next |
poly_int64 vn_reference_s::offset |
Referenced by vn_walk_cb_data::finish(), phi_translate_1(), visit_reference_op_call(), vn_reference_eq(), vn_reference_insert(), vn_reference_insert_pieces(), vn_reference_lookup(), vn_reference_lookup_3(), vn_reference_lookup_call(), vn_reference_lookup_or_insert_for_pieces(), and vn_reference_lookup_pieces().
vec<vn_reference_op_s> vn_reference_s::operands |
Referenced by compute_avail(), create_component_ref_by_pieces_1(), create_expression_by_pieces(), vn_walk_cb_data::finish(), free_reference(), free_vn_table(), fully_constant_vn_reference_p(), phi_translate_1(), pre_expr_DFS(), print_pre_expr(), valid_in_sets(), value_dies_in_block_x(), visit_reference_op_call(), vn_reference_compute_hash(), vn_reference_eq(), vn_reference_insert(), vn_reference_insert_pieces(), vn_reference_lookup(), vn_reference_lookup_3(), vn_reference_lookup_call(), vn_reference_lookup_or_insert_for_pieces(), vn_reference_lookup_pieces(), and vn_reference_may_trap().
unsigned vn_reference_s::punned |
tree vn_reference_s::result |
Referenced by alloc_vn_nary_op(), compute_avail(), set_hashtable_value_ids(), set_value_id_for_result(), visit_phi(), visit_reference_op_call(), visit_reference_op_load(), visit_reference_op_store(), vn_nary_op_insert_into(), vn_nary_op_insert_pieces(), vn_nary_op_insert_pieces_predicated(), vn_nary_op_insert_stmt(), vn_reference_insert(), vn_reference_insert_pieces(), vn_reference_lookup(), and vn_reference_lookup_3().
tree vn_reference_s::result_vdef |
Referenced by visit_reference_op_call(), vn_reference_insert(), and vn_reference_insert_pieces().
alias_set_type vn_reference_s::set |
Referenced by compute_avail(), eliminate_dom_walker::eliminate_stmt(), phi_translate_1(), value_dies_in_block_x(), visit_reference_op_call(), visit_reference_op_store(), vn_reference_insert(), vn_reference_insert_pieces(), vn_reference_lookup(), vn_reference_lookup_2(), vn_reference_lookup_call(), vn_reference_lookup_or_insert_for_pieces(), and vn_reference_lookup_pieces().
tree vn_reference_s::type |
Referenced by create_expression_by_pieces(), vn_walk_cb_data::finish(), fully_constant_vn_reference_p(), phi_translate_1(), vn_walk_cb_data::push_partial_def(), value_dies_in_block_x(), visit_reference_op_call(), vn_reference_eq(), vn_reference_insert(), vn_reference_insert_pieces(), vn_reference_lookup(), vn_reference_lookup_3(), vn_reference_lookup_call(), vn_reference_lookup_or_insert_for_pieces(), and vn_reference_lookup_pieces().
unsigned int vn_reference_s::value_id |
Referenced by alloc_vn_nary_op(), get_or_alloc_expr_for_reference(), phi_translate_1(), run_rpo_vn(), set_hashtable_value_ids(), visit_reference_op_call(), vn_nary_op_insert_pieces(), vn_nary_op_insert_pieces_predicated(), vn_nary_op_insert_stmt(), vn_reference_insert(), and vn_reference_insert_pieces().
tree vn_reference_s::vuse |
Referenced by phi_translate_1(), print_pre_expr(), prune_clobbered_mems(), visit_reference_op_call(), visit_reference_op_load(), visit_reference_op_store(), vn_reference_compute_hash(), vn_reference_eq(), vn_reference_insert(), vn_reference_insert_pieces(), vn_reference_lookup(), vn_reference_lookup_2(), vn_reference_lookup_3(), vn_reference_lookup_call(), vn_reference_lookup_or_insert_for_pieces(), and vn_reference_lookup_pieces().