Polly 19.0.0git
Functions | Variables
SCEVAffinator.cpp File Reference
#include "polly/Support/SCEVAffinator.h"
#include "polly/Options.h"
#include "polly/ScopInfo.h"
#include "polly/Support/GICHelper.h"
#include "polly/Support/SCEVValidator.h"
#include "isl/aff.h"
#include "isl/local_space.h"
#include "isl/set.h"
#include "isl/val.h"

Go to the source code of this file.

Functions

static cl::opt< bool > IgnoreIntegerWrapping ("polly-ignore-integer-wrapping", cl::desc("Do not build run-time checks to proof absence of integer " "wrapping"), cl::Hidden, cl::cat(PollyCategory))
 
static isl_stat addNumBasicSets (__isl_take isl_set *Domain, __isl_take isl_aff *Aff, void *User)
 Add the number of basic sets in Domain to User.
 
static bool isTooComplex (PWACtx PWAC)
 Determine if PWAC is too complex to continue.
 
static SCEV::NoWrapFlags getNoWrapFlags (const SCEV *Expr)
 Return the flag describing the possible wrapping of Expr.
 
static PWACtx combine (PWACtx PWAC0, PWACtx PWAC1, __isl_give isl_pw_aff *(Fn)(__isl_take isl_pw_aff *, __isl_take isl_pw_aff *))
 
static __isl_give isl_pw_affgetWidthExpValOnDomain (unsigned Width, __isl_take isl_set *Dom)
 

Variables

static int const MaxDisjunctionsInPwAff = 100
 
static unsigned const MaxSmallBitWidth = 7
 

Function Documentation

◆ addNumBasicSets()

static isl_stat addNumBasicSets ( __isl_take isl_set Domain,
__isl_take isl_aff Aff,
void *  User 
)
static

Add the number of basic sets in Domain to User.

Definition at line 42 of file SCEVAffinator.cpp.

References Domain, isl_aff_free(), isl_set_free(), isl_set_n_basic_set(), and isl_stat_ok.

Referenced by isTooComplex().

◆ combine()

static PWACtx combine ( PWACtx  PWAC0,
PWACtx  PWAC1,
__isl_give isl_pw_aff Fn)(__isl_take isl_pw_aff *, __isl_take isl_pw_aff * 
)
static

Definition at line 67 of file SCEVAffinator.cpp.

References isl::manage().

◆ getNoWrapFlags()

static SCEV::NoWrapFlags getNoWrapFlags ( const SCEV *  Expr)
static

Return the flag describing the possible wrapping of Expr.

Definition at line 61 of file SCEVAffinator.cpp.

Referenced by polly::SCEVAffinator::checkForWrapping().

◆ getWidthExpValOnDomain()

static __isl_give isl_pw_aff * getWidthExpValOnDomain ( unsigned  Width,
__isl_take isl_set Dom 
)
static

◆ IgnoreIntegerWrapping()

static cl::opt< bool > IgnoreIntegerWrapping ( "polly-ignore-integer-wrapping"  ,
cl::desc("Do not build run-time checks to proof absence of integer " "wrapping")  ,
cl::Hidden  ,
cl::cat(PollyCategory  
)
static

◆ isTooComplex()

static bool isTooComplex ( PWACtx  PWAC)
static

Variable Documentation

◆ MaxDisjunctionsInPwAff

int const MaxDisjunctionsInPwAff = 100
static

Definition at line 35 of file SCEVAffinator.cpp.

Referenced by isTooComplex().

◆ MaxSmallBitWidth

unsigned const MaxSmallBitWidth = 7
static

Definition at line 39 of file SCEVAffinator.cpp.

Referenced by polly::SCEVAffinator::computeModuloForExpr().