GCC Middle and Back End API Reference
_slp_tree Struct Reference

#include <tree-vectorizer.h>

Collaboration diagram for _slp_tree:

Public Member Functions

 _slp_tree ()
 ~_slp_tree ()
void push_vec_def (gimple *def)
void push_vec_def (tree def)

Static Public Member Functions

static voidoperator new (size_t)
static void operator delete (void *, size_t)

Data Fields

vec< slp_treechildren
vec< stmt_vec_infostmts
vec< treeops
stmt_vec_info representative
load_permutation_t load_permutation
lane_permutation_t lane_permutation
vec< treesimd_clone_info
tree vectype
vec< treevec_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
int vertex
slp_tree next_node
slp_tree prev_node

Detailed Description

A computation tree of an SLP instance.  Each node corresponds to a group of
stmts to be packed in a SIMD stmt.   

Constructor & Destructor Documentation

◆ _slp_tree()

◆ ~_slp_tree()

Member Function Documentation

◆ operator delete()

void _slp_tree::operator delete ( void * node,
size_t n )

References gcc_assert, and slp_tree_pool.

◆ operator new()

void * _slp_tree::operator new ( size_t n)

References gcc_assert, and slp_tree_pool.

◆ push_vec_def() [1/2]

void _slp_tree::push_vec_def ( gimple * def)
Push the single SSA definition in DEF to the vector of vector defs.   

References get_def_from_ptr(), ggc_alloc(), gimple_phi_result(), single_ssa_def_operand(), SSA_OP_ALL_DEFS, and vec_defs.

Referenced by vect_add_slp_permutation().

◆ push_vec_def() [2/2]

void _slp_tree::push_vec_def ( tree def)

References vec_defs.

Field Documentation

◆ children

vec<slp_tree> _slp_tree::children

◆ code

enum tree_code _slp_tree::code

◆ def_type

enum vect_def_type _slp_tree::def_type

◆ failed

bool* _slp_tree::failed

◆ lane_permutation

lane_permutation_t _slp_tree::lane_permutation

◆ lanes

unsigned int _slp_tree::lanes

Referenced by _slp_tree().

◆ load_permutation

load_permutation_t _slp_tree::load_permutation

◆ max_nunits

poly_uint64 _slp_tree::max_nunits

Referenced by _slp_tree(), and vect_print_slp_tree().

◆ next_node

slp_tree _slp_tree::next_node

Referenced by _slp_tree(), and ~_slp_tree().

◆ ops

vec<tree> _slp_tree::ops

◆ prev_node

slp_tree _slp_tree::prev_node

Referenced by _slp_tree(), and ~_slp_tree().

◆ refcnt

unsigned int _slp_tree::refcnt

◆ representative

stmt_vec_info _slp_tree::representative

◆ simd_clone_info

vec<tree> _slp_tree::simd_clone_info

◆ stmts

vec<stmt_vec_info> _slp_tree::stmts

◆ vec_defs

vec<tree> _slp_tree::vec_defs

Referenced by push_vec_def(), and push_vec_def().

◆ vec_stmts_size

unsigned int _slp_tree::vec_stmts_size

◆ vectype

tree _slp_tree::vectype

◆ vertex

The documentation for this struct was generated from the following files: