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) | |
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 723 of file LoopVectorize.cpp.
|
inline |
Definition at line 735 of file LoopVectorize.cpp.
References assert().
BasicBlock* llvm::EpilogueLoopVectorizationInfo::EpilogueIterationCountCheck = nullptr |
Definition at line 729 of file LoopVectorize.cpp.
Referenced by llvm::EpilogueVectorizerMainLoop::createEpilogueVectorizedLoopSkeleton(), and llvm::EpilogueVectorizerEpilogueLoop::createEpilogueVectorizedLoopSkeleton().
unsigned llvm::EpilogueLoopVectorizationInfo::EpilogueUF = 0 |
Definition at line 727 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 726 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 728 of file LoopVectorize.cpp.
Referenced by llvm::EpilogueVectorizerMainLoop::createEpilogueVectorizedLoopSkeleton(), llvm::EpilogueVectorizerEpilogueLoop::createEpilogueVectorizedLoopSkeleton(), and llvm::LoopVectorizePass::processLoop().
unsigned llvm::EpilogueLoopVectorizationInfo::MainLoopUF = 0 |
Definition at line 725 of file LoopVectorize.cpp.
Referenced by llvm::EpilogueVectorizerMainLoop::printDebugTracesAtStart(), and llvm::LoopVectorizePass::processLoop().
ElementCount llvm::EpilogueLoopVectorizationInfo::MainLoopVF = ElementCount::getFixed(0) |
Definition at line 724 of file LoopVectorize.cpp.
Referenced by llvm::EpilogueVectorizerMainLoop::printDebugTracesAtStart(), and llvm::LoopVectorizePass::processLoop().
BasicBlock* llvm::EpilogueLoopVectorizationInfo::MemSafetyCheck = nullptr |
Definition at line 731 of file LoopVectorize.cpp.
Referenced by llvm::EpilogueVectorizerMainLoop::createEpilogueVectorizedLoopSkeleton(), and llvm::EpilogueVectorizerEpilogueLoop::createEpilogueVectorizedLoopSkeleton().
BasicBlock* llvm::EpilogueLoopVectorizationInfo::SCEVSafetyCheck = nullptr |
Definition at line 730 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 733 of file LoopVectorize.cpp.
Referenced by llvm::EpilogueVectorizerMainLoop::createEpilogueVectorizedLoopSkeleton(), llvm::EpilogueVectorizerEpilogueLoop::createEpilogueVectorizedLoopSkeleton(), and llvm::EpilogueVectorizerEpilogueLoop::emitMinimumVectorEpilogueIterCountCheck().