LLVM 22.0.0git
|
#include "llvm/Transforms/Vectorize/EVLIndVarSimplify.h"
#include "llvm/ADT/Statistic.h"
#include "llvm/Analysis/IVDescriptors.h"
#include "llvm/Analysis/LoopInfo.h"
#include "llvm/Analysis/LoopPass.h"
#include "llvm/Analysis/OptimizationRemarkEmitter.h"
#include "llvm/Analysis/ScalarEvolution.h"
#include "llvm/Analysis/ScalarEvolutionExpressions.h"
#include "llvm/Analysis/ValueTracking.h"
#include "llvm/IR/IRBuilder.h"
#include "llvm/IR/PatternMatch.h"
#include "llvm/Support/CommandLine.h"
#include "llvm/Support/Debug.h"
#include "llvm/Support/MathExtras.h"
#include "llvm/Support/raw_ostream.h"
#include "llvm/Transforms/Scalar/LoopPassManager.h"
#include "llvm/Transforms/Utils/Local.h"
Go to the source code of this file.
Macros | |
#define | DEBUG_TYPE "evl-iv-simplify" |
Functions | |
STATISTIC (NumEliminatedCanonicalIV, "Number of canonical IVs we eliminated") | |
static uint32_t | getVFFromIndVar (const SCEV *Step, const Function &F) |
Returns the constant part of vectorization factor from the induction variable's step value SCEV expression. | |
Variables | |
static cl::opt< bool > | EnableEVLIndVarSimplify ("enable-evl-indvar-simplify", cl::desc("Enable EVL-based induction variable simplify Pass"), cl::Hidden, cl::init(true)) |
#define DEBUG_TYPE "evl-iv-simplify" |
Definition at line 32 of file EVLIndVarSimplify.cpp.
Returns the constant part of vectorization factor from the induction variable's step value SCEV expression.
Definition at line 59 of file EVLIndVarSimplify.cpp.
References F, llvm::Fixed, llvm::User::getNumOperands(), llvm::User::getOperand(), llvm::ConstantRange::getSingleElement(), llvm::getVScaleRange(), LHS, Mul, and RHS.
STATISTIC | ( | NumEliminatedCanonicalIV | , |
"Number of canonical IVs we eliminated" | |||
) |