LLVM 20.0.0git
|
Performs the legality analysis and returns a LegalityResult object. More...
#include "llvm/Transforms/Vectorize/SandboxVectorizer/Legality.h"
Public Member Functions | |
LegalityAnalysis (AAResults &AA, ScalarEvolution &SE, const DataLayout &DL, Context &Ctx) | |
template<typename ResultT , typename... ArgsT> | |
ResultT & | createLegalityResult (ArgsT... Args) |
A LegalityResult factory. | |
const LegalityResult & | canVectorize (ArrayRef< Value * > Bndl, bool SkipScheduling=false) |
Checks if it's legal to vectorize the instructions in Bndl . | |
Performs the legality analysis and returns a LegalityResult object.
Definition at line 152 of file Legality.h.
|
inline |
Definition at line 165 of file Legality.h.
References DL.
const LegalityResult & llvm::sandboxir::LegalityAnalysis::canVectorize | ( | ArrayRef< Value * > | Bndl, |
bool | SkipScheduling = false |
||
) |
Checks if it's legal to vectorize the instructions in Bndl
.
\Returns a LegalityResult object owned by LegalityAnalysis. SkipScheduling
skips the scheduler check and is only meant for testing.
Definition at line 187 of file Legality.cpp.
References llvm::any_of(), llvm::sandboxir::CantSchedule, llvm::dbgs(), llvm::sandboxir::dumpBndl(), LLVM_DEBUG, llvm::sandboxir::NotInstructions, llvm::SmallVectorTemplateBase< T, bool >::push_back(), llvm::SmallVectorImpl< T >::reserve(), llvm::ArrayRef< T >::size(), and llvm::sandboxir::Scheduler::trySchedule().
|
inline |
A LegalityResult factory.
Definition at line 170 of file Legality.h.
References llvm::SmallVectorTemplateCommon< T, typename >::back(), and llvm::SmallVectorTemplateBase< T, bool >::push_back().