Thanks to visit codestin.com
Credit goes to llvm.org

LLVM 22.0.0git
llvm::SPIRVSubtarget Class Reference

#include "Target/SPIRV/SPIRVSubtarget.h"

Inheritance diagram for llvm::SPIRVSubtarget:
[legend]

Public Types

enum  SPIRVEnvType { Kernel , Shader , Unknown }

Public Member Functions

 SPIRVSubtarget (const Triple &TT, const std::string &CPU, const std::string &FS, const SPIRVTargetMachine &TM)
SPIRVSubtargetinitSubtargetDependencies (StringRef CPU, StringRef FS)
void initAvailableExtensions (const std::set< SPIRV::Extension::Extension > &AllowedExtIds)
void ParseSubtargetFeatures (StringRef CPU, StringRef TuneCPU, StringRef FS)
unsigned getPointerSize () const
unsigned getBound () const
bool canDirectlyComparePointers () const
void setEnv (SPIRVEnvType E)
SPIRVEnvType getEnv () const
bool isKernel () const
bool isShader () const
bool isLogicalSPIRV () const
bool isPhysicalSPIRV () const
const std::string & getTargetTripleAsStr () const
VersionTuple getSPIRVVersion () const
bool isAtLeastSPIRVVer (VersionTuple VerToCompareTo) const
bool isAtLeastOpenCLVer (VersionTuple VerToCompareTo) const
bool hasOpenCLFullProfile () const
bool hasOpenCLImageSupport () const
const SmallSet< SPIRV::Extension::Extension, 4 > & getAllAvailableExtensions () const
bool canUseExtension (SPIRV::Extension::Extension E) const
bool canUseExtInstSet (SPIRV::InstructionSet::InstructionSet E) const
SPIRV::InstructionSet::InstructionSet getPreferredInstructionSet () const
SPIRVGlobalRegistrygetSPIRVGlobalRegistry () const
const CallLoweringgetCallLowering () const override
const RegisterBankInfogetRegBankInfo () const override
const LegalizerInfogetLegalizerInfo () const override
InstructionSelectorgetInstructionSelector () const override
const InlineAsmLoweringgetInlineAsmLowering () const override
const SPIRVInstrInfogetInstrInfo () const override
const SPIRVFrameLoweringgetFrameLowering () const override
const SPIRVTargetLoweringgetTargetLowering () const override
const SPIRVRegisterInfogetRegisterInfo () const override

Static Public Member Functions

static bool classof (const TargetSubtargetInfo *ST)
static void addExtensionsToClOpt (const std::set< SPIRV::Extension::Extension > &AllowList)

Static Public Attributes

static constexpr unsigned MaxLegalAddressSpace = 6

Detailed Description

Definition at line 38 of file SPIRVSubtarget.h.

Member Enumeration Documentation

◆ SPIRVEnvType

Enumerator
Kernel 
Shader 
Unknown 

Definition at line 41 of file SPIRVSubtarget.h.

Constructor & Destructor Documentation

◆ SPIRVSubtarget()

Member Function Documentation

◆ addExtensionsToClOpt()

void SPIRVSubtarget::addExtensionsToClOpt ( const std::set< SPIRV::Extension::Extension > & AllowList)
static

Definition at line 42 of file SPIRVSubtarget.cpp.

References Extensions.

◆ canDirectlyComparePointers()

bool SPIRVSubtarget::canDirectlyComparePointers ( ) const

Definition at line 144 of file SPIRVSubtarget.cpp.

References isAtLeastVer(), and SPVTranslatorCompat.

◆ canUseExtension()

bool SPIRVSubtarget::canUseExtension ( SPIRV::Extension::Extension E) const

Definition at line 115 of file SPIRVSubtarget.cpp.

Referenced by llvm::addressSpaceToStorageClass().

◆ canUseExtInstSet()

bool SPIRVSubtarget::canUseExtInstSet ( SPIRV::InstructionSet::InstructionSet E) const

Definition at line 119 of file SPIRVSubtarget.cpp.

◆ classof()

bool llvm::SPIRVSubtarget::classof ( const TargetSubtargetInfo * ST)
inlinestatic

Definition at line 147 of file SPIRVSubtarget.h.

◆ getAllAvailableExtensions()

const SmallSet< SPIRV::Extension::Extension, 4 > & llvm::SPIRVSubtarget::getAllAvailableExtensions ( ) const
inline

Definition at line 112 of file SPIRVSubtarget.h.

◆ getBound()

unsigned llvm::SPIRVSubtarget::getBound ( ) const
inline

Definition at line 84 of file SPIRVSubtarget.h.

◆ getCallLowering()

const CallLowering * llvm::SPIRVSubtarget::getCallLowering ( ) const
inlineoverride

Definition at line 121 of file SPIRVSubtarget.h.

◆ getEnv()

SPIRVEnvType llvm::SPIRVSubtarget::getEnv ( ) const
inline

Definition at line 94 of file SPIRVSubtarget.h.

Referenced by getExecutionModel(), isKernel(), and isShader().

◆ getFrameLowering()

const SPIRVFrameLowering * llvm::SPIRVSubtarget::getFrameLowering ( ) const
inlineoverride

Definition at line 137 of file SPIRVSubtarget.h.

◆ getInlineAsmLowering()

const InlineAsmLowering * llvm::SPIRVSubtarget::getInlineAsmLowering ( ) const
inlineoverride

Definition at line 133 of file SPIRVSubtarget.h.

◆ getInstrInfo()

const SPIRVInstrInfo * llvm::SPIRVSubtarget::getInstrInfo ( ) const
inlineoverride

Definition at line 136 of file SPIRVSubtarget.h.

Referenced by addConstantsToTrack(), and doInsertBitcast().

◆ getInstructionSelector()

InstructionSelector * llvm::SPIRVSubtarget::getInstructionSelector ( ) const
inlineoverride

Definition at line 130 of file SPIRVSubtarget.h.

◆ getLegalizerInfo()

const LegalizerInfo * llvm::SPIRVSubtarget::getLegalizerInfo ( ) const
inlineoverride

Definition at line 127 of file SPIRVSubtarget.h.

◆ getPointerSize()

unsigned llvm::SPIRVSubtarget::getPointerSize ( ) const
inline

Definition at line 83 of file SPIRVSubtarget.h.

◆ getPreferredInstructionSet()

SPIRV::InstructionSet::InstructionSet SPIRVSubtarget::getPreferredInstructionSet ( ) const

Definition at line 125 of file SPIRVSubtarget.cpp.

References isShader().

◆ getRegBankInfo()

const RegisterBankInfo * llvm::SPIRVSubtarget::getRegBankInfo ( ) const
inlineoverride

Definition at line 124 of file SPIRVSubtarget.h.

Referenced by doInsertBitcast().

◆ getRegisterInfo()

const SPIRVRegisterInfo * llvm::SPIRVSubtarget::getRegisterInfo ( ) const
inlineoverride

Definition at line 143 of file SPIRVSubtarget.h.

Referenced by doInsertBitcast().

◆ getSPIRVGlobalRegistry()

SPIRVGlobalRegistry * llvm::SPIRVSubtarget::getSPIRVGlobalRegistry ( ) const
inline

Definition at line 119 of file SPIRVSubtarget.h.

Referenced by llvm::SPIRVLegalizerInfo::SPIRVLegalizerInfo().

◆ getSPIRVVersion()

VersionTuple llvm::SPIRVSubtarget::getSPIRVVersion ( ) const
inline

Definition at line 105 of file SPIRVSubtarget.h.

◆ getTargetLowering()

const SPIRVTargetLowering * llvm::SPIRVSubtarget::getTargetLowering ( ) const
inlineoverride

Definition at line 140 of file SPIRVSubtarget.h.

◆ getTargetTripleAsStr()

const std::string & llvm::SPIRVSubtarget::getTargetTripleAsStr ( ) const
inline

Definition at line 104 of file SPIRVSubtarget.h.

◆ hasOpenCLFullProfile()

bool llvm::SPIRVSubtarget::hasOpenCLFullProfile ( ) const
inline

Definition at line 109 of file SPIRVSubtarget.h.

◆ hasOpenCLImageSupport()

bool llvm::SPIRVSubtarget::hasOpenCLImageSupport ( ) const
inline

Definition at line 110 of file SPIRVSubtarget.h.

◆ initAvailableExtensions()

void SPIRVSubtarget::initAvailableExtensions ( const std::set< SPIRV::Extension::Extension > & AllowedExtIds)

◆ initSubtargetDependencies()

SPIRVSubtarget & SPIRVSubtarget::initSubtargetDependencies ( StringRef CPU,
StringRef FS )

Definition at line 109 of file SPIRVSubtarget.cpp.

References ParseSubtargetFeatures(), and SPIRVSubtarget().

Referenced by SPIRVSubtarget().

◆ isAtLeastOpenCLVer()

bool SPIRVSubtarget::isAtLeastOpenCLVer ( VersionTuple VerToCompareTo) const

Definition at line 136 of file SPIRVSubtarget.cpp.

References isAtLeastVer(), and isShader().

◆ isAtLeastSPIRVVer()

bool SPIRVSubtarget::isAtLeastSPIRVVer ( VersionTuple VerToCompareTo) const

Definition at line 132 of file SPIRVSubtarget.cpp.

References isAtLeastVer().

◆ isKernel()

bool llvm::SPIRVSubtarget::isKernel ( ) const
inline

Definition at line 95 of file SPIRVSubtarget.h.

References getEnv(), and Kernel.

Referenced by getExecutionModel().

◆ isLogicalSPIRV()

bool llvm::SPIRVSubtarget::isLogicalSPIRV ( ) const
inline

Definition at line 97 of file SPIRVSubtarget.h.

References llvm::Triple::spirv.

◆ isPhysicalSPIRV()

bool llvm::SPIRVSubtarget::isPhysicalSPIRV ( ) const
inline

Definition at line 100 of file SPIRVSubtarget.h.

References llvm::Triple::spirv32, and llvm::Triple::spirv64.

◆ isShader()

bool llvm::SPIRVSubtarget::isShader ( ) const
inline

Definition at line 96 of file SPIRVSubtarget.h.

References getEnv(), and Shader.

Referenced by getExecutionModel(), getPreferredInstructionSet(), and isAtLeastOpenCLVer().

◆ ParseSubtargetFeatures()

void llvm::SPIRVSubtarget::ParseSubtargetFeatures ( StringRef CPU,
StringRef TuneCPU,
StringRef FS )

◆ setEnv()

void llvm::SPIRVSubtarget::setEnv ( SPIRVEnvType E)
inline

Definition at line 86 of file SPIRVSubtarget.h.

References E(), llvm::report_fatal_error(), and Unknown.

Referenced by getExecutionModel().

Member Data Documentation

◆ MaxLegalAddressSpace

unsigned llvm::SPIRVSubtarget::MaxLegalAddressSpace = 6
staticconstexpr

Definition at line 151 of file SPIRVSubtarget.h.


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