LLVM 18.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) | |
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 |
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 824 of file LoopVectorize.cpp.
|
inline |
Definition at line 836 of file LoopVectorize.cpp.
References assert().
BasicBlock* llvm::EpilogueLoopVectorizationInfo::EpilogueIterationCountCheck = nullptr |
Definition at line 830 of file LoopVectorize.cpp.
Referenced by llvm::EpilogueVectorizerMainLoop::createEpilogueVectorizedLoopSkeleton(), and llvm::EpilogueVectorizerEpilogueLoop::createEpilogueVectorizedLoopSkeleton().
unsigned llvm::EpilogueLoopVectorizationInfo::EpilogueUF = 0 |
Definition at line 828 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 827 of file LoopVectorize.cpp.
Referenced by llvm::EpilogueVectorizerEpilogueLoop::createEpilogueVectorizedLoopSkeleton(), llvm::EpilogueVectorizerMainLoop::emitIterationCountCheck(), llvm::EpilogueVectorizerEpilogueLoop::emitMinimumVectorEpilogueIterCountCheck(), llvm::EpilogueVectorizerMainLoop::printDebugTracesAtStart(), llvm::EpilogueVectorizerEpilogueLoop::printDebugTracesAtStart(), and llvm::LoopVectorizePass::processLoop().
BasicBlock* llvm::EpilogueLoopVectorizationInfo::MainLoopIterationCountCheck = nullptr |
Definition at line 829 of file LoopVectorize.cpp.
Referenced by llvm::EpilogueVectorizerMainLoop::createEpilogueVectorizedLoopSkeleton(), llvm::EpilogueVectorizerEpilogueLoop::createEpilogueVectorizedLoopSkeleton(), and llvm::LoopVectorizePass::processLoop().
unsigned llvm::EpilogueLoopVectorizationInfo::MainLoopUF = 0 |
Definition at line 826 of file LoopVectorize.cpp.
Referenced by llvm::EpilogueVectorizerMainLoop::printDebugTracesAtStart(), and llvm::LoopVectorizePass::processLoop().
ElementCount llvm::EpilogueLoopVectorizationInfo::MainLoopVF = ElementCount::getFixed(0) |
Definition at line 825 of file LoopVectorize.cpp.
Referenced by llvm::EpilogueVectorizerMainLoop::printDebugTracesAtStart(), and llvm::LoopVectorizePass::processLoop().
BasicBlock* llvm::EpilogueLoopVectorizationInfo::MemSafetyCheck = nullptr |
Definition at line 832 of file LoopVectorize.cpp.
Referenced by llvm::EpilogueVectorizerMainLoop::createEpilogueVectorizedLoopSkeleton(), and llvm::EpilogueVectorizerEpilogueLoop::createEpilogueVectorizedLoopSkeleton().
BasicBlock* llvm::EpilogueLoopVectorizationInfo::SCEVSafetyCheck = nullptr |
Definition at line 831 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 834 of file LoopVectorize.cpp.
Referenced by llvm::EpilogueVectorizerMainLoop::createEpilogueVectorizedLoopSkeleton(), llvm::EpilogueVectorizerEpilogueLoop::createEpilogueVectorizedLoopSkeleton(), and llvm::EpilogueVectorizerEpilogueLoop::emitMinimumVectorEpilogueIterCountCheck().