LLVM 20.0.0git
|
Encapsulate information regarding vectorization of a loop and its epilogue. More...
Public Member Functions | |
EpilogueLoopVectorizationInfo (ElementCount MVF, unsigned MUF, ElementCount EVF, unsigned EUF, VPlan &EpiloguePlan) | |
Public Attributes | |
ElementCount | MainLoopVF = ElementCount::getFixed(0) |
unsigned | MainLoopUF = 0 |
ElementCount | EpilogueVF = ElementCount::getFixed(0) |
unsigned | EpilogueUF = 0 |
BasicBlock * | MainLoopIterationCountCheck = nullptr |
BasicBlock * | EpilogueIterationCountCheck = nullptr |
BasicBlock * | SCEVSafetyCheck = nullptr |
BasicBlock * | MemSafetyCheck = nullptr |
Value * | TripCount = nullptr |
Value * | VectorTripCount = nullptr |
VPlan & | EpiloguePlan |
Encapsulate information regarding vectorization of a loop and its epilogue.
This information is meant to be updated and used across two stages of epilogue vectorization.
Definition at line 707 of file LoopVectorize.cpp.
|
inline |
Definition at line 720 of file LoopVectorize.cpp.
References assert().
BasicBlock* llvm::EpilogueLoopVectorizationInfo::EpilogueIterationCountCheck = nullptr |
Definition at line 713 of file LoopVectorize.cpp.
Referenced by llvm::EpilogueVectorizerMainLoop::createEpilogueVectorizedLoopSkeleton(), and llvm::EpilogueVectorizerEpilogueLoop::createEpilogueVectorizedLoopSkeleton().
VPlan& llvm::EpilogueLoopVectorizationInfo::EpiloguePlan |
Definition at line 718 of file LoopVectorize.cpp.
Referenced by llvm::EpilogueVectorizerMainLoop::createEpilogueVectorizedLoopSkeleton().
unsigned llvm::EpilogueLoopVectorizationInfo::EpilogueUF = 0 |
Definition at line 711 of file LoopVectorize.cpp.
Referenced by llvm::EpilogueVectorizerMainLoop::emitIterationCountCheck(), llvm::EpilogueVectorizerEpilogueLoop::emitMinimumVectorEpilogueIterCountCheck(), llvm::EpilogueVectorizerMainLoop::printDebugTracesAtStart(), llvm::EpilogueVectorizerEpilogueLoop::printDebugTracesAtStart(), and llvm::LoopVectorizePass::processLoop().
ElementCount llvm::EpilogueLoopVectorizationInfo::EpilogueVF = ElementCount::getFixed(0) |
Definition at line 710 of file LoopVectorize.cpp.
Referenced by llvm::EpilogueVectorizerMainLoop::emitIterationCountCheck(), llvm::EpilogueVectorizerEpilogueLoop::emitMinimumVectorEpilogueIterCountCheck(), llvm::EpilogueVectorizerMainLoop::printDebugTracesAtStart(), llvm::EpilogueVectorizerEpilogueLoop::printDebugTracesAtStart(), and llvm::LoopVectorizePass::processLoop().
BasicBlock* llvm::EpilogueLoopVectorizationInfo::MainLoopIterationCountCheck = nullptr |
Definition at line 712 of file LoopVectorize.cpp.
Referenced by llvm::EpilogueVectorizerMainLoop::createEpilogueVectorizedLoopSkeleton(), and llvm::EpilogueVectorizerEpilogueLoop::createEpilogueVectorizedLoopSkeleton().
unsigned llvm::EpilogueLoopVectorizationInfo::MainLoopUF = 0 |
Definition at line 709 of file LoopVectorize.cpp.
Referenced by llvm::EpilogueVectorizerMainLoop::printDebugTracesAtStart(), and llvm::LoopVectorizePass::processLoop().
ElementCount llvm::EpilogueLoopVectorizationInfo::MainLoopVF = ElementCount::getFixed(0) |
Definition at line 708 of file LoopVectorize.cpp.
Referenced by llvm::EpilogueVectorizerMainLoop::printDebugTracesAtStart(), and llvm::LoopVectorizePass::processLoop().
BasicBlock* llvm::EpilogueLoopVectorizationInfo::MemSafetyCheck = nullptr |
Definition at line 715 of file LoopVectorize.cpp.
Referenced by llvm::EpilogueVectorizerMainLoop::createEpilogueVectorizedLoopSkeleton(), and llvm::EpilogueVectorizerEpilogueLoop::createEpilogueVectorizedLoopSkeleton().
BasicBlock* llvm::EpilogueLoopVectorizationInfo::SCEVSafetyCheck = nullptr |
Definition at line 714 of file LoopVectorize.cpp.
Referenced by llvm::EpilogueVectorizerMainLoop::createEpilogueVectorizedLoopSkeleton(), and llvm::EpilogueVectorizerEpilogueLoop::createEpilogueVectorizedLoopSkeleton().
Value* llvm::EpilogueLoopVectorizationInfo::TripCount = nullptr |
Value* llvm::EpilogueLoopVectorizationInfo::VectorTripCount = nullptr |
Definition at line 717 of file LoopVectorize.cpp.
Referenced by llvm::EpilogueVectorizerMainLoop::createEpilogueVectorizedLoopSkeleton(), llvm::EpilogueVectorizerEpilogueLoop::createEpilogueVectorizedLoopSkeleton(), and llvm::EpilogueVectorizerEpilogueLoop::emitMinimumVectorEpilogueIterCountCheck().