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 getScheduleMap(), init_cloog_input_file(), isl_id_for_pbb(), pbb_bb(), scop_get_domains(), scop_get_original_schedule(), and scop_get_transformed_schedule().

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().


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