LLVM 19.0.0git
Public Member Functions | List of all members
llvm::SPIRV::RequirementHandler Struct Reference

#include "Target/SPIRV/SPIRVModuleAnalysis.h"

Public Member Functions

 RequirementHandler ()
 
void clear ()
 
unsigned getMinVersion () const
 
unsigned getMaxVersion () const
 
const CapabilityListgetMinimalCapabilities () 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)
 

Detailed Description

Definition at line 60 of file SPIRVModuleAnalysis.h.

Constructor & Destructor Documentation

◆ RequirementHandler()

llvm::SPIRV::RequirementHandler::RequirementHandler ( )
inline

Definition at line 82 of file SPIRVModuleAnalysis.h.

Member Function Documentation

◆ addAvailableCaps()

void SPIRV::RequirementHandler::addAvailableCaps ( const CapabilityList ToAdd)

Definition at line 580 of file SPIRVModuleAnalysis.cpp.

References llvm::getSymbolicOperandCapabilities().

◆ addCapabilities()

void SPIRV::RequirementHandler::addCapabilities ( const CapabilityList ToAdd)

Definition at line 480 of file SPIRVModuleAnalysis.cpp.

References llvm::getSymbolicOperandCapabilities().

Referenced by addCapability().

◆ addCapability()

void llvm::SPIRV::RequirementHandler::addCapability ( Capability::Capability  ToAdd)
inline

◆ addExtension()

void llvm::SPIRV::RequirementHandler::addExtension ( Extension::Extension  ToAdd)
inline

◆ addExtensions()

void llvm::SPIRV::RequirementHandler::addExtensions ( const ExtensionList ToAdd)
inline

◆ addRequirements()

void SPIRV::RequirementHandler::addRequirements ( const Requirements Req)

◆ checkSatisfiable()

void SPIRV::RequirementHandler::checkSatisfiable ( const SPIRVSubtarget ST) const

◆ clear()

void llvm::SPIRV::RequirementHandler::clear ( )
inline

◆ getAndAddRequirements()

void SPIRV::RequirementHandler::getAndAddRequirements ( SPIRV::OperandCategory::OperandCategory  Category,
uint32_t  i,
const SPIRVSubtarget ST 
)

Definition at line 464 of file SPIRVModuleAnalysis.cpp.

References addRequirements().

Referenced by addInstrRequirements(), addOpTypeImageReqs(), and collectReqs().

◆ getExtensions()

const SmallSet< Extension::Extension, 4 > & llvm::SPIRV::RequirementHandler::getExtensions ( ) const
inline

Definition at line 94 of file SPIRVModuleAnalysis.h.

◆ getMaxVersion()

unsigned llvm::SPIRV::RequirementHandler::getMaxVersion ( ) const
inline

Definition at line 92 of file SPIRVModuleAnalysis.h.

◆ getMinimalCapabilities()

const CapabilityList & llvm::SPIRV::RequirementHandler::getMinimalCapabilities ( ) const
inline

Definition at line 93 of file SPIRVModuleAnalysis.h.

◆ getMinVersion()

unsigned llvm::SPIRV::RequirementHandler::getMinVersion ( ) const
inline

Definition at line 91 of file SPIRVModuleAnalysis.h.

◆ initAvailableCapabilities()

void llvm::SPIRV::RequirementHandler::initAvailableCapabilities ( const SPIRVSubtarget ST)

Definition at line 596 of file SPIRVModuleAnalysis.cpp.

References llvm::report_fatal_error().

◆ isCapabilityAvailable()

bool llvm::SPIRV::RequirementHandler::isCapabilityAvailable ( Capability::Capability  Cap) const
inline

◆ removeCapabilityIf()

void SPIRV::RequirementHandler::removeCapabilityIf ( const Capability::Capability  ToRemove,
const Capability::Capability  IfPresent 
)

Definition at line 587 of file SPIRVModuleAnalysis.cpp.

References ToRemove.

Referenced by addInstrRequirements().


The documentation for this struct was generated from the following files: