GCC Middle and Back End API Reference
|
#include <tree-vectorizer.h>
Public Member Functions | |
_slp_tree () | |
~_slp_tree () | |
void | push_vec_def (gimple *def) |
void | push_vec_def (tree def) |
Static Public Member Functions | |
static void * | operator new (size_t) |
static void | operator delete (void *, size_t) |
Data Fields | |
vec< slp_tree > | children |
vec< stmt_vec_info > | stmts |
vec< tree > | ops |
stmt_vec_info | representative |
load_permutation_t | load_permutation |
lane_permutation_t | lane_permutation |
vec< tree > | simd_clone_info |
tree | vectype |
vec< tree > | vec_defs |
unsigned int | vec_stmts_size |
unsigned int | refcnt |
poly_uint64 | max_nunits |
enum vect_def_type | def_type |
unsigned int | lanes |
enum tree_code | code |
bool | ldst_lanes |
int | vertex |
vect_memory_access_type | memory_access_type |
bool * | failed |
slp_tree | next_node |
slp_tree | prev_node |
A computation tree of an SLP instance. Each node corresponds to a group of stmts to be packed in a SIMD stmt.
_slp_tree::_slp_tree | ( | ) |
Initialize a SLP node.
References failed, lanes, ldst_lanes, max_nunits, next_node, NULL, NULL_TREE, prev_node, slp_first_node, SLP_TREE_CHILDREN, SLP_TREE_CODE, SLP_TREE_DEF_TYPE, SLP_TREE_LANE_PERMUTATION, SLP_TREE_LOAD_PERMUTATION, SLP_TREE_MEMORY_ACCESS_TYPE, SLP_TREE_NUMBER_OF_VEC_STMTS, SLP_TREE_REF_COUNT, SLP_TREE_REPRESENTATIVE, SLP_TREE_SCALAR_OPS, SLP_TREE_SCALAR_STMTS, SLP_TREE_SIMD_CLONE_INFO, SLP_TREE_VEC_DEFS, SLP_TREE_VECTYPE, vect_uninitialized_def, VMAT_INVARIANT, and vNULL.
_slp_tree::~_slp_tree | ( | ) |
Tear down a SLP node.
References failed, free(), next_node, prev_node, SLP_TREE_CHILDREN, SLP_TREE_LANE_PERMUTATION, SLP_TREE_LOAD_PERMUTATION, SLP_TREE_SCALAR_OPS, SLP_TREE_SCALAR_STMTS, SLP_TREE_SIMD_CLONE_INFO, and SLP_TREE_VEC_DEFS.
|
static |
References gcc_assert, and slp_tree_pool.
|
static |
References gcc_assert, and slp_tree_pool.
void _slp_tree::push_vec_def | ( | gimple * | def | ) |
Push the single SSA definition in DEF to the vector of vector defs.
References dyn_cast(), get_def_from_ptr(), gimple_phi_result(), single_ssa_def_operand(), SSA_OP_ALL_DEFS, and vec_defs.
Referenced by vect_add_slp_permutation(), vect_create_vectorized_demotion_stmts(), vect_transform_cycle_phi(), vect_transform_reduction(), vectorizable_assignment(), vectorizable_bswap(), vectorizable_call(), vectorizable_comparison_1(), vectorizable_condition(), vectorizable_conversion(), vectorizable_induction(), vectorizable_lc_phi(), vectorizable_load(), vectorizable_nonlinear_induction(), vectorizable_operation(), vectorizable_phi(), vectorizable_recurr(), vectorizable_shift(), vectorizable_slp_permutation_1(), vectorizable_store(), and vectorize_fold_left_reduction().
enum tree_code _slp_tree::code |
enum vect_def_type _slp_tree::def_type |
bool* _slp_tree::failed |
Referenced by _slp_tree(), and ~_slp_tree().
lane_permutation_t _slp_tree::lane_permutation |
unsigned int _slp_tree::lanes |
Referenced by _slp_tree().
bool _slp_tree::ldst_lanes |
Referenced by _slp_tree(), vect_optimize_slp_pass::decide_masked_load_lanes(), get_group_load_store_type(), vect_analyze_stmt(), vect_build_slp_instance(), vect_lower_load_permutations(), vect_mark_slp_stmts(), vect_print_slp_tree(), vect_transform_stmt(), vect_update_slp_vf_for_node(), vectorizable_load(), vectorizable_slp_permutation_1(), and vectorizable_store().
load_permutation_t _slp_tree::load_permutation |
poly_uint64 _slp_tree::max_nunits |
vect_memory_access_type _slp_tree::memory_access_type |
slp_tree _slp_tree::next_node |
Referenced by _slp_tree(), and ~_slp_tree().
Referenced by vect_create_constant_vectors().
slp_tree _slp_tree::prev_node |
Referenced by _slp_tree(), and ~_slp_tree().
unsigned int _slp_tree::refcnt |
Referenced by vect_optimize_slp_pass::materialize(), vect_cse_slp_nodes(), and vectorizable_shift().
stmt_vec_info _slp_tree::representative |
vec<stmt_vec_info> _slp_tree::stmts |
Referenced by push_vec_def(), and push_vec_def().
unsigned int _slp_tree::vec_stmts_size |
Referenced by vectorizable_load(), and vectorizable_shift().
tree _slp_tree::vectype |
int _slp_tree::vertex |