LLVM  14.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/LLVMContext.h"
#include "llvm/IR/PassManager.h"
#include "llvm/IR/Type.h"
#include "llvm/InitializePasses.h"
#include "llvm/Pass.h"
#include "llvm/Support/Debug.h"
#include "llvm/Support/raw_ostream.h"
Include dependency graph for Delinearization.cpp:

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 38 of file Delinearization.cpp.

◆ DL_NAME

#define DL_NAME   "delinearize"

Definition at line 37 of file Delinearization.cpp.

Function Documentation

◆ containsParameters()

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

Definition at line 247 of file Delinearization.cpp.

References S, llvm::SCEVExprContains(), and T.

Referenced by llvm::findArrayDimensions().

◆ containsUndefs()

static bool containsUndefs ( const SCEV S)
inlinestatic

Definition at line 41 of file Delinearization.cpp.

References S, and 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 617 of file Delinearization.cpp.

◆ numberOfTerms()

static int numberOfTerms ( const SCEV S)
inlinestatic

Definition at line 256 of file Delinearization.cpp.

References S.

Referenced by llvm::findArrayDimensions().

◆ removeConstantFactors()

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

Definition at line 262 of file Delinearization.cpp.

References llvm::ScalarEvolution::getMulExpr(), M, and T.

Referenced by llvm::findArrayDimensions().

Variable Documentation

◆ delinearization_name

const char delinearization_name[] = "Delinearization"
static

Definition at line 616 of file Delinearization.cpp.