GCC Middle and Back End API Reference
scop Struct Reference

#include <graphite-poly.h>

Collaboration diagram for scop:

Data Fields

void * region
graphite_dim_t nb_params
vec< poly_bb_pbbs
lst_p original_schedule
lst_p transformed_schedule
lst_p saved_schedule
isl_set * context
isl_ctx * ctx
isl_union_map * must_raw
isl_union_map * may_raw
isl_union_map * must_raw_no_source
isl_union_map * may_raw_no_source
isl_union_map * must_war
isl_union_map * may_war
isl_union_map * must_war_no_source
isl_union_map * may_war_no_source
isl_union_map * must_waw
isl_union_map * may_waw
isl_union_map * must_waw_no_source
isl_union_map * may_waw_no_source
bool poly_scop_p

Detailed Description

A SCOP is a Static Control Part of the program, simple enough to be represented in polyhedral form.


Field Documentation

vec<poly_bb_p> scop::bbs

All the basic blocks in this scop that contain memory references and that will be represented as statements in the polyhedral representation.

isl_set* scop::context

The context describes known restrictions concerning the parameters and relations in between the parameters.

void f (int8_t a, uint_16_t b) { c = 2 a + b; ... }

Here we can add these restrictions to the context:

-128 >= a >= 127 0 >= b >= 65,535 c = 2a + b

isl_ctx* scop::ctx

The context used internally by ISL.

isl_union_map * scop::may_raw
isl_union_map * scop::may_raw_no_source
isl_union_map * scop::may_war
isl_union_map * scop::may_war_no_source
isl_union_map * scop::may_waw
isl_union_map * scop::may_waw_no_source
isl_union_map* scop::must_raw

The original dependence relations: RAW are read after write dependences, WAR are write after read dependences, WAW are write after write dependences.

isl_union_map * scop::must_raw_no_source
isl_union_map * scop::must_war
isl_union_map * scop::must_war_no_source
isl_union_map * scop::must_waw
isl_union_map * scop::must_waw_no_source
graphite_dim_t scop::nb_params

Number of parameters in SCoP.

lst_p scop::original_schedule

Original, transformed and saved schedules.

bool scop::poly_scop_p

True when the scop has been converted to its polyhedral representation.

void* scop::region

A SCOP is defined as a SESE region.

lst_p scop::saved_schedule
lst_p scop::transformed_schedule

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