LLVM  12.0.0git
Macros | Functions | Variables
VPlan.cpp File Reference

This is the LLVM vectorization plan. More...

#include "VPlan.h"
#include "VPlanDominatorTree.h"
#include "llvm/ADT/DepthFirstIterator.h"
#include "llvm/ADT/PostOrderIterator.h"
#include "llvm/ADT/SmallVector.h"
#include "llvm/ADT/Twine.h"
#include "llvm/Analysis/LoopInfo.h"
#include "llvm/IR/BasicBlock.h"
#include "llvm/IR/CFG.h"
#include "llvm/IR/InstrTypes.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/ErrorHandling.h"
#include "llvm/Support/GenericDomTreeConstruction.h"
#include "llvm/Support/GraphWriter.h"
#include "llvm/Support/raw_ostream.h"
#include "llvm/Transforms/Utils/BasicBlockUtils.h"
#include <cassert>
#include <iterator>
#include <string>
#include <vector>
Include dependency graph for VPlan.cpp:

Go to the source code of this file.

Macros

#define DEBUG_TYPE   "vplan"
 

Functions

template<typename T >
static TgetPlanEntry (T *Start)
 

Variables

cl::opt< boolEnableVPlanNativePath
 

Detailed Description

This is the LLVM vectorization plan.

It represents a candidate for vectorization, allowing to plan and optimize how to vectorize a given loop before generating LLVM-IR. The vectorizer uses vectorization plans to estimate the costs of potential candidates and if profitable to execute the desired plan, generating vector LLVM-IR code.

Definition in file VPlan.cpp.

Macro Definition Documentation

◆ DEBUG_TYPE

#define DEBUG_TYPE   "vplan"

Definition at line 49 of file VPlan.cpp.

Function Documentation

◆ getPlanEntry()

template<typename T >
static T* getPlanEntry ( T Start)
static

Definition at line 68 of file VPlan.cpp.

Referenced by llvm::VPBlockBase::getPlan().

Variable Documentation

◆ EnableVPlanNativePath

cl::opt<bool> EnableVPlanNativePath