LLVM 20.0.0git
|
#include "Target/SPIRV/SPIRVModuleAnalysis.h"
Public Member Functions | |
RequirementHandler () | |
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 60 of file SPIRVModuleAnalysis.h.
|
inline |
Definition at line 82 of file SPIRVModuleAnalysis.h.
void SPIRV::RequirementHandler::addAvailableCaps | ( | const CapabilityList & | ToAdd | ) |
Definition at line 597 of file SPIRVModuleAnalysis.cpp.
References llvm::getSymbolicOperandCapabilities().
void SPIRV::RequirementHandler::addCapabilities | ( | const CapabilityList & | ToAdd | ) |
Definition at line 497 of file SPIRVModuleAnalysis.cpp.
References llvm::getSymbolicOperandCapabilities().
Referenced by addCapability().
|
inline |
Definition at line 99 of file SPIRVModuleAnalysis.h.
References addCapabilities().
Referenced by AddAtomicFloatRequirements(), addInstrRequirements(), collectReqs(), and llvm::SPIRVModuleAnalysis::runOnModule().
|
inline |
Definition at line 103 of file SPIRVModuleAnalysis.h.
References llvm::SmallSet< T, N, C >::insert().
Referenced by AddAtomicFloatRequirements(), addInstrRequirements(), addOpDecorateReqs(), and collectReqs().
|
inline |
Definition at line 100 of file SPIRVModuleAnalysis.h.
References llvm::SmallVectorTemplateCommon< T, typename >::begin(), llvm::SmallVectorTemplateCommon< T, typename >::end(), and llvm::SmallSet< T, N, C >::insert().
void SPIRV::RequirementHandler::addRequirements | ( | const Requirements & | Req | ) |
Definition at line 509 of file SPIRVModuleAnalysis.cpp.
References 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 addOpDecorateReqs(), addOpTypeImageReqs(), and getAndAddRequirements().
void SPIRV::RequirementHandler::checkSatisfiable | ( | const SPIRVSubtarget & | ST | ) | const |
Definition at line 542 of file SPIRVModuleAnalysis.cpp.
References llvm::dbgs(), llvm::getSymbolicOperandMnemonic(), LLVM_DEBUG, and llvm::report_fatal_error().
|
inline |
Definition at line 83 of file SPIRVModuleAnalysis.h.
References llvm::detail::DenseSetImpl< ValueT, MapTy, ValueInfoT >::clear(), llvm::SmallSet< T, N, C >::clear(), and llvm::SmallVectorImpl< T >::clear().
void SPIRV::RequirementHandler::getAndAddRequirements | ( | SPIRV::OperandCategory::OperandCategory | Category, |
uint32_t | i, | ||
const SPIRVSubtarget & | ST | ||
) |
Definition at line 481 of file SPIRVModuleAnalysis.cpp.
References addRequirements().
Referenced by addInstrRequirements(), addOpTypeImageReqs(), and collectReqs().
|
inline |
Definition at line 92 of file SPIRVModuleAnalysis.h.
|
inline |
Definition at line 91 of file SPIRVModuleAnalysis.h.
void llvm::SPIRV::RequirementHandler::initAvailableCapabilities | ( | const SPIRVSubtarget & | ST | ) |
Definition at line 613 of file SPIRVModuleAnalysis.cpp.
References llvm::report_fatal_error().
|
inline |
Definition at line 117 of file SPIRVModuleAnalysis.h.
References llvm::detail::DenseSetImpl< ValueT, MapTy, ValueInfoT >::contains().
void SPIRV::RequirementHandler::removeCapabilityIf | ( | const Capability::Capability | ToRemove, |
const Capability::Capability | IfPresent | ||
) |
Definition at line 604 of file SPIRVModuleAnalysis.cpp.
References ToRemove.
Referenced by addInstrRequirements().