LLVM
16.0.0git
|
#include "VPlan.h"
#include "llvm/ADT/STLExtras.h"
#include "llvm/ADT/SmallVector.h"
#include "llvm/ADT/Twine.h"
#include "llvm/Analysis/IVDescriptors.h"
#include "llvm/IR/BasicBlock.h"
#include "llvm/IR/IRBuilder.h"
#include "llvm/IR/Instruction.h"
#include "llvm/IR/Instructions.h"
#include "llvm/IR/Type.h"
#include "llvm/IR/Value.h"
#include "llvm/Support/Casting.h"
#include "llvm/Support/CommandLine.h"
#include "llvm/Support/Debug.h"
#include "llvm/Support/raw_ostream.h"
#include "llvm/Transforms/Utils/BasicBlockUtils.h"
#include "llvm/Transforms/Utils/ScalarEvolutionExpander.h"
#include <cassert>
Go to the source code of this file.
Macros | |
#define | LV_NAME "loop-vectorize" |
#define | DEBUG_TYPE LV_NAME |
Typedefs | |
using | VectorParts = SmallVector< Value *, 2 > |
Variables | |
cl::opt< bool > | EnableVPlanNativePath |
This file contains implementations for different VPlan recipes.
Definition in file VPlanRecipes.cpp.
#define DEBUG_TYPE LV_NAME |
Definition at line 40 of file VPlanRecipes.cpp.
#define LV_NAME "loop-vectorize" |
Definition at line 39 of file VPlanRecipes.cpp.
using VectorParts = SmallVector<Value *, 2> |
Definition at line 35 of file VPlanRecipes.cpp.
cl::opt<bool> EnableVPlanNativePath |
Referenced by collectSupportedLoops(), llvm::InnerLoopVectorizer::emitMemRuntimeChecks(), llvm::VPWidenPHIRecipe::execute(), llvm::InnerLoopVectorizer::fixVectorizedLoop(), llvm::LoopVectorizationCostModel::getWideningDecision(), llvm::LoopVectorizationCostModel::isProfitableToScalarize(), llvm::LoopVectorizationCostModel::isScalarAfterVectorization(), llvm::LoopVectorizationCostModel::isUniformAfterVectorization(), llvm::LoopVectorizationPlanner::planInVPlanNativePath(), llvm::LoopVectorizePass::processLoop(), processLoopInVPlanNativePath(), and llvm::LoopVectorizePass::run().