GCC Middle and Back End API Reference
poly_bb Struct Reference

#include <graphite-poly.h>

Collaboration diagram for poly_bb:

Data Fields

void * black_box
scop_p scop
isl_set * domain
vec< poly_dr_pdrs
poly_scattering_p _original
isl_map * schedule
poly_scattering_p _transformed
isl_map * transformed
poly_scattering_p _saved
isl_map * saved
bool is_reduction

Detailed Description

POLY_BB represents a blackbox in the polyhedral model.


Field Documentation

poly_scattering_p poly_bb::_original

The original scattering.

poly_scattering_p poly_bb::_saved

A copy of the transformed scattering.

poly_scattering_p poly_bb::_transformed

The transformed scattering.

void* poly_bb::black_box

Pointer to a basic block or a statement in the compiler.

Referenced by same_pdr_p().

isl_set* poly_bb::domain

The iteration domain of this bb. The layout of this polyhedron is I|G with I the iteration domain, G the context parameters.

Example:

for (i = a - 7*b + 8; i <= 3*a + 13*b + 20; i++) for (j = 2; j <= 2*i + 5; j++) for (k = 0; k <= 5; k++) S (i,j,k)

Loop iterators: i, j, k Parameters: a, b

| i >= a - 7b + 8 | i <= 3a + 13b + 20 | j >= 2 | j <= 2i + 5 | k >= 0 | k <= 5

The number of variables in the DOMAIN may change and is not related to the number of loops in the original code.

Referenced by pbb_bb().

vec<poly_dr_p> poly_bb::drs

The data references we access.

bool poly_bb::is_reduction

True when this PBB contains only a reduction statement.

isl_map* poly_bb::saved
isl_map* poly_bb::schedule
scop_p poly_bb::scop

Pointer to the SCOP containing this PBB.

Referenced by same_pdr_p().

isl_map* poly_bb::transformed

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