LLVM 17.0.0git
|
#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 SCEV * | removeConstantFactors (ScalarEvolution &SE, const SCEV *T) |
INITIALIZE_PASS_BEGIN (Delinearization, DL_NAME, delinearization_name, true, true) FunctionPass *llvm | |
Variables | |
static const char | delinearization_name [] = "Delinearization" |
#define DEBUG_TYPE DL_NAME |
Definition at line 36 of file Delinearization.cpp.
#define DL_NAME "delinearize" |
Definition at line 35 of file Delinearization.cpp.
|
inlinestatic |
Definition at line 245 of file Delinearization.cpp.
References llvm::SCEVExprContains().
Referenced by llvm::findArrayDimensions().
Definition at line 39 of file Delinearization.cpp.
References llvm::SCEVExprContains().
|
static |
Definition at line 200 of file Delinearization.cpp.
References llvm::SCEVDivision::divide(), E, llvm::erase_if(), findArrayDimensionsRec(), llvm::ScalarEvolution::getMulExpr(), llvm::Last, llvm::SmallVectorTemplateBase< T, bool >::push_back(), and llvm::SmallVectorBase< Size_T >::size().
Referenced by llvm::findArrayDimensions(), and findArrayDimensionsRec().
INITIALIZE_PASS_BEGIN | ( | Delinearization | , |
DL_NAME | , | ||
delinearization_name | , | ||
true | , | ||
true | |||
) |
Definition at line 653 of file Delinearization.cpp.
Definition at line 254 of file Delinearization.cpp.
Referenced by llvm::findArrayDimensions().
|
static |
Definition at line 260 of file Delinearization.cpp.
References llvm::ScalarEvolution::getMulExpr(), and llvm::SmallVectorTemplateBase< T, bool >::push_back().
Referenced by llvm::findArrayDimensions().
Definition at line 652 of file Delinearization.cpp.