|
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) |
| template<class T> | |
| T & | get_data (T &else_) |
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 |
| struct { | |
| int id | |
| int reduc_idx | |
| } | cycle_info |
| load_permutation_t | load_permutation |
| lane_permutation_t | lane_permutation |
| tree | vectype |
| vec< tree > | vec_defs |
| unsigned int | refcnt |
| poly_uint64 | max_nunits |
| enum vect_def_type | def_type |
| unsigned int | lanes |
| enum tree_code | code |
| int | gs_scale |
| tree | gs_base |
| bool | ldst_lanes |
| bool | avoid_stlf_fail |
| int | vertex |
| enum stmt_vec_info_type | type |
| vect_data * | data |
| 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 avoid_stlf_fail, cycle_info, data, 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_GS_BASE, SLP_TREE_GS_SCALE, SLP_TREE_LANE_PERMUTATION, SLP_TREE_LOAD_PERMUTATION, SLP_TREE_REF_COUNT, SLP_TREE_REPRESENTATIVE, SLP_TREE_SCALAR_OPS, SLP_TREE_SCALAR_STMTS, SLP_TREE_TYPE, SLP_TREE_VEC_DEFS, SLP_TREE_VECTYPE, undef_vec_info_type, vect_uninitialized_def, and vNULL.
Referenced by operator delete(), and operator new().
| _slp_tree::~_slp_tree | ( | ) |
Tear down a SLP node.
References data, failed, free(), next_node, prev_node, slp_first_node, SLP_TREE_CHILDREN, SLP_TREE_LANE_PERMUTATION, SLP_TREE_LOAD_PERMUTATION, SLP_TREE_SCALAR_OPS, SLP_TREE_SCALAR_STMTS, and SLP_TREE_VEC_DEFS.
Referenced by vectorizable_load(), vectorizable_simd_clone_call(), and vectorizable_store().
|
static |
References _slp_tree(), gcc_assert, and slp_tree_pool.
|
static |
References _slp_tree(), 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_create_vectorized_demotion_stmts(), vect_transform_cycle_phi(), vect_transform_lc_phi(), vect_transform_reduction(), vectorizable_assignment(), vectorizable_bswap(), vectorizable_call(), vectorizable_comparison_1(), vectorizable_condition(), vectorizable_conversion(), vectorizable_induction(), vectorizable_load(), vectorizable_nonlinear_induction(), vectorizable_operation(), vectorizable_phi(), vectorizable_recurr(), vectorizable_shift(), vectorizable_store(), and vectorize_fold_left_reduction().
| bool _slp_tree::avoid_stlf_fail |
Referenced by _slp_tree(), and get_load_store_type().
| enum tree_code _slp_tree::code |
| struct { ... } _slp_tree::cycle_info |
Referenced by _slp_tree(), and vect_analyze_slp_reduc_chain().
| vect_data* _slp_tree::data |
Referenced by _slp_tree(), get_data(), vectorizable_load(), vectorizable_simd_clone_call(), vectorizable_store(), and ~_slp_tree().
| enum vect_def_type _slp_tree::def_type |
| bool* _slp_tree::failed |
Referenced by _slp_tree(), and ~_slp_tree().
| tree _slp_tree::gs_base |
| int _slp_tree::gs_scale |
| int _slp_tree::id |
Referenced by vect_analyze_slp_reduc_chain().
| lane_permutation_t _slp_tree::lane_permutation |
| unsigned int _slp_tree::lanes |
Referenced by _slp_tree().
| bool _slp_tree::ldst_lanes |
| load_permutation_t _slp_tree::load_permutation |
| poly_uint64 _slp_tree::max_nunits |
Referenced by _slp_tree(), vect_build_slp_store_interleaving(), and vect_build_slp_tree_2().
| 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().
| int _slp_tree::reduc_idx |
| unsigned int _slp_tree::refcnt |
Referenced by vect_optimize_slp_pass::materialize(), and vectorizable_shift().
| stmt_vec_info _slp_tree::representative |
| vec<stmt_vec_info> _slp_tree::stmts |
| enum stmt_vec_info_type _slp_tree::type |
Referenced by push_vec_def(), and push_vec_def().
| tree _slp_tree::vectype |
| int _slp_tree::vertex |