LLVM: llvm::sandboxir::LegalityAnalysis Class Reference (original) (raw)
Performs the legality analysis and returns a LegalityResult object. More...
#include "[llvm/Transforms/Vectorize/SandboxVectorizer/Legality.h](Legality%5F8h%5Fsource.html)"
| Public Member Functions | |
|---|---|
| LegalityAnalysis (AAResults &AA, ScalarEvolution &SE, const DataLayout &DL, Context &Ctx, InstrMaps &IMaps) | |
| template<typename ResultT, typename... ArgsT> | |
| ResultT & | createLegalityResult (ArgsT &&...Args) |
| A LegalityResult factory. | |
| LLVM_ABI const LegalityResult & | canVectorize (ArrayRef< Value * > Bndl, bool SkipScheduling=false) |
| Checks if it's legal to vectorize the instructions in Bndl. | |
| const LegalityResult & | getForcedPackForDebugging () |
| \Returns a Pack with reason 'ForcePackForDebugging'. | |
| LLVM_ABI void | clear () |
Performs the legality analysis and returns a LegalityResult object.
Definition at line 318 of file Legality.h.
◆ canVectorize()
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 212 of file Legality.cpp.
References llvm::any_of(), llvm::sandboxir::CantSchedule, llvm::cast(), createLegalityResult(), llvm::sandboxir::DiffBBs, llvm::drop_begin(), llvm::from_range, llvm::isa(), llvm::sandboxir::NotInstructions, llvm::SmallVectorTemplateBase< T, bool >::push_back(), llvm::sandboxir::RepeatedInstrs, llvm::SmallVectorImpl< T >::reserve(), llvm::ArrayRef< T >::size(), and llvm::SmallPtrSetImplBase::size().
◆ clear()
| void llvm::sandboxir::LegalityAnalysis::clear | ( | ) |
|---|
◆ createLegalityResult()
template<typename ResultT, typename... ArgsT>
| ResultT & llvm::sandboxir::LegalityAnalysis::createLegalityResult ( ArgsT &&... Args) | inline |
|---|
◆ getForcedPackForDebugging()
The documentation for this class was generated from the following files:
- include/llvm/Transforms/Vectorize/SandboxVectorizer/Legality.h
- lib/Transforms/Vectorize/SandboxVectorizer/Legality.cpp