Polly 22.0.0git
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 "llvm/IR/DataLayout.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()

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 43 of file SCEVAffinator.cpp.

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

Referenced by isTooComplex().

◆ combine()

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 68 of file SCEVAffinator.cpp.

References __isl_give, __isl_take, and isl::manage().

◆ getNoWrapFlags()

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

Return the flag describing the possible wrapping of Expr.

Definition at line 62 of file SCEVAffinator.cpp.

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

◆ getWidthExpValOnDomain()

◆ IgnoreIntegerWrapping()

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

bool isTooComplex ( PWACtx PWAC)
static

Variable Documentation

◆ MaxDisjunctionsInPwAff

int const MaxDisjunctionsInPwAff = 100
static

Definition at line 36 of file SCEVAffinator.cpp.

Referenced by isTooComplex().

◆ MaxSmallBitWidth

unsigned const MaxSmallBitWidth = 7
static

Definition at line 40 of file SCEVAffinator.cpp.

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