LLVM 18.0.0git
Macros | Functions | Variables
Delinearization.cpp File Reference
#include "llvm/Analysis/Delinearization.h"
#include "llvm/Analysis/LoopInfo.h"
#include "llvm/Analysis/Passes.h"
#include "llvm/Analysis/ScalarEvolution.h"
#include "llvm/Analysis/ScalarEvolutionDivision.h"
#include "llvm/Analysis/ScalarEvolutionExpressions.h"
#include "llvm/IR/Constants.h"
#include "llvm/IR/DerivedTypes.h"
#include "llvm/IR/Function.h"
#include "llvm/IR/InstIterator.h"
#include "llvm/IR/Instructions.h"
#include "llvm/IR/PassManager.h"
#include "llvm/InitializePasses.h"
#include "llvm/Pass.h"
#include "llvm/Support/Debug.h"
#include "llvm/Support/raw_ostream.h"

Go to the source code of this file.

Macros

#define DL_NAME   "delinearize"
 
#define DEBUG_TYPE   DL_NAME
 

Functions

static bool containsUndefs (const SCEV *S)
 
static bool findArrayDimensionsRec (ScalarEvolution &SE, SmallVectorImpl< const SCEV * > &Terms, SmallVectorImpl< const SCEV * > &Sizes)
 
static bool containsParameters (SmallVectorImpl< const SCEV * > &Terms)
 
static int numberOfTerms (const SCEV *S)
 
static const SCEVremoveConstantFactors (ScalarEvolution &SE, const SCEV *T)
 
 INITIALIZE_PASS_BEGIN (Delinearization, DL_NAME, delinearization_name, true, true) FunctionPass *llvm
 

Variables

static const char delinearization_name [] = "Delinearization"
 

Macro Definition Documentation

◆ DEBUG_TYPE

#define DEBUG_TYPE   DL_NAME

Definition at line 36 of file Delinearization.cpp.

◆ DL_NAME

#define DL_NAME   "delinearize"

Definition at line 35 of file Delinearization.cpp.

Function Documentation

◆ containsParameters()

static bool containsParameters ( SmallVectorImpl< const SCEV * > &  Terms)
inlinestatic

Definition at line 245 of file Delinearization.cpp.

References llvm::SCEVExprContains().

Referenced by llvm::findArrayDimensions().

◆ containsUndefs()

static bool containsUndefs ( const SCEV S)
inlinestatic

Definition at line 39 of file Delinearization.cpp.

References llvm::SCEVExprContains().

◆ findArrayDimensionsRec()

static bool findArrayDimensionsRec ( ScalarEvolution SE,
SmallVectorImpl< const SCEV * > &  Terms,
SmallVectorImpl< const SCEV * > &  Sizes 
)
static

◆ INITIALIZE_PASS_BEGIN()

INITIALIZE_PASS_BEGIN ( Delinearization  ,
DL_NAME  ,
delinearization_name  ,
true  ,
true   
)

Definition at line 653 of file Delinearization.cpp.

◆ numberOfTerms()

static int numberOfTerms ( const SCEV S)
inlinestatic

Definition at line 254 of file Delinearization.cpp.

Referenced by llvm::findArrayDimensions().

◆ removeConstantFactors()

static const SCEV * removeConstantFactors ( ScalarEvolution SE,
const SCEV T 
)
static

Variable Documentation

◆ delinearization_name

const char delinearization_name[] = "Delinearization"
static

Definition at line 652 of file Delinearization.cpp.