GCC Middle and Back End API Reference
_slp_tree Struct Reference

#include <tree-vectorizer.h>

Collaboration diagram for _slp_tree:

Data Fields

vec< slp_treechildren
vec< gimplestmts
vec< unsigned > load_permutation
vec< gimplevec_stmts
unsigned int vec_stmts_size

Detailed Description

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


Field Documentation

vec<slp_tree> _slp_tree::children

Nodes that contain def-stmts of this node statements operands.

vec<unsigned> _slp_tree::load_permutation

Load permutation relative to the stores, NULL if there is no permutation.

Referenced by vect_mark_slp_stmts_relevant(), and vect_slp_rearrange_stmts().

vec<gimple> _slp_tree::stmts

A group of scalar stmts to be vectorized together.

vec<gimple> _slp_tree::vec_stmts

Vectorized stmt/s.

unsigned int _slp_tree::vec_stmts_size

Number of vector stmts that are created to replace the group of scalar stmts. It is calculated during the transformation phase as the number of scalar elements in one scalar iteration (GROUP_SIZE) multiplied by VF divided by vector size.


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