|
LLVM 23.0.0git
|
#include "Target/SPIRV/SPIRVModuleAnalysis.h"
Public Member Functions | |
| RequirementHandler ()=default | |
| void | clear () |
| const CapabilityList & | getMinimalCapabilities () const |
| const SmallSet< Extension::Extension, 4 > & | getExtensions () const |
| void | addCapabilities (const CapabilityList &ToAdd) |
| void | addCapability (Capability::Capability ToAdd) |
| void | addExtensions (const ExtensionList &ToAdd) |
| void | addExtension (Extension::Extension ToAdd) |
| void | addRequirements (const Requirements &Req) |
| void | getAndAddRequirements (SPIRV::OperandCategory::OperandCategory Category, uint32_t i, const SPIRVSubtarget &ST) |
| void | checkSatisfiable (const SPIRVSubtarget &ST) const |
| void | initAvailableCapabilities (const SPIRVSubtarget &ST) |
| void | addAvailableCaps (const CapabilityList &ToAdd) |
| bool | isCapabilityAvailable (Capability::Capability Cap) const |
| void | removeCapabilityIf (const Capability::Capability ToRemove, const Capability::Capability IfPresent) |
Definition at line 62 of file SPIRVModuleAnalysis.h.
|
default |
| void SPIRV::RequirementHandler::addAvailableCaps | ( | const CapabilityList & | ToAdd | ) |
Definition at line 938 of file SPIRVModuleAnalysis.cpp.
References addAvailableCaps(), and llvm::getSymbolicOperandCapabilities().
Referenced by addAvailableCaps(), and initAvailableCapabilities().
| void SPIRV::RequirementHandler::addCapabilities | ( | const CapabilityList & | ToAdd | ) |
Definition at line 832 of file SPIRVModuleAnalysis.cpp.
References llvm::getSymbolicOperandCapabilities().
Referenced by addCapability(), and addRequirements().
|
inline |
Definition at line 101 of file SPIRVModuleAnalysis.h.
References addCapabilities().
Referenced by AddAtomicFloatRequirements(), AddAtomicVectorFloatRequirements(), AddDotProductRequirements(), addInstrRequirements(), addOpDecorateReqs(), and collectReqs().
|
inline |
Definition at line 105 of file SPIRVModuleAnalysis.h.
Referenced by AddAtomicFloatRequirements(), AddAtomicVectorFloatRequirements(), AddDotProductRequirements(), addInstrRequirements(), addOpDecorateReqs(), addPrintfRequirements(), collectReqs(), llvm::SPIRVAuxDataHandler::prepareModuleOutput(), and llvm::SPIRVNonSemanticDebugHandler::prepareModuleOutput().
|
inline |
Definition at line 102 of file SPIRVModuleAnalysis.h.
Referenced by addRequirements().
| void SPIRV::RequirementHandler::addRequirements | ( | const Requirements & | Req | ) |
Definition at line 844 of file SPIRVModuleAnalysis.cpp.
References addCapabilities(), addExtensions(), llvm::SPIRV::Requirements::Cap, llvm::dbgs(), llvm::VersionTuple::empty(), llvm::SPIRV::Requirements::Exts, llvm::SPIRV::Requirements::IsSatisfiable, LLVM_DEBUG, llvm::SPIRV::Requirements::MaxVer, llvm::SPIRV::Requirements::MinVer, and llvm::report_fatal_error().
Referenced by addOpAccessChainReqs(), addOpDecorateReqs(), addOpTypeImageReqs(), and getAndAddRequirements().
| void SPIRV::RequirementHandler::checkSatisfiable | ( | const SPIRVSubtarget & | ST | ) | const |
Definition at line 877 of file SPIRVModuleAnalysis.cpp.
References llvm::SmallSet< T, N, C >::contains(), llvm::dbgs(), llvm::getSymbolicOperandMnemonic(), llvm::SmallSet< T, N, C >::insert(), LLVM_DEBUG, llvm::report_fatal_error(), and AvoidCapabilitiesSet::S.
|
inline |
Definition at line 85 of file SPIRVModuleAnalysis.h.
| void SPIRV::RequirementHandler::getAndAddRequirements | ( | SPIRV::OperandCategory::OperandCategory | Category, |
| uint32_t | i, | ||
| const SPIRVSubtarget & | ST ) |
Definition at line 816 of file SPIRVModuleAnalysis.cpp.
References addRequirements(), and getSymbolicOperandRequirements().
Referenced by addImageOperandReqs(), addInstrRequirements(), addOpTypeImageReqs(), and collectReqs().
|
inline |
Definition at line 94 of file SPIRVModuleAnalysis.h.
|
inline |
Definition at line 93 of file SPIRVModuleAnalysis.h.
| void llvm::SPIRV::RequirementHandler::initAvailableCapabilities | ( | const SPIRVSubtarget & | ST | ) |
Definition at line 956 of file SPIRVModuleAnalysis.cpp.
References addAvailableCaps(), llvm::getCapabilitiesEnabledByExtension(), and llvm::report_fatal_error().
|
inline |
Definition at line 119 of file SPIRVModuleAnalysis.h.
Referenced by getSymbolicOperandRequirements().
| void SPIRV::RequirementHandler::removeCapabilityIf | ( | const Capability::Capability | ToRemove, |
| const Capability::Capability | IfPresent ) |
Definition at line 945 of file SPIRVModuleAnalysis.cpp.
References llvm::erase(), and ToRemove.
Referenced by addInstrRequirements().