LLVM 19.0.0git
Public Member Functions | Static Public Member Functions | List of all members
llvm::SPIRVSubtarget Class Reference

#include "Target/SPIRV/SPIRVSubtarget.h"

Inheritance diagram for llvm::SPIRVSubtarget:
Inheritance graph
[legend]

Public Member Functions

 SPIRVSubtarget (const Triple &TT, const std::string &CPU, const std::string &FS, const SPIRVTargetMachine &TM)
 
SPIRVSubtargetinitSubtargetDependencies (StringRef CPU, StringRef FS)
 
void ParseSubtargetFeatures (StringRef CPU, StringRef TuneCPU, StringRef FS)
 
unsigned getPointerSize () const
 
unsigned getBound () const
 
bool canDirectlyComparePointers () const
 
bool isOpenCLEnv () const
 
bool isVulkanEnv () const
 
uint32_t getSPIRVVersion () const
 
bool isAtLeastSPIRVVer (uint32_t VerToCompareTo) const
 
bool isAtLeastOpenCLVer (uint32_t 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
 
SPIRVGlobalRegistrygetSPIRVGlobalRegistry () const
 
const CallLoweringgetCallLowering () const override
 
const RegisterBankInfogetRegBankInfo () const override
 
const LegalizerInfogetLegalizerInfo () const override
 
InstructionSelectorgetInstructionSelector () 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)
 

Detailed Description

Definition at line 37 of file SPIRVSubtarget.h.

Constructor & Destructor Documentation

◆ SPIRVSubtarget()

SPIRVSubtarget::SPIRVSubtarget ( const Triple TT,
const std::string &  CPU,
const std::string &  FS,
const SPIRVTargetMachine TM 
)

Definition at line 46 of file SPIRVSubtarget.cpp.

References llvm::createSPIRVInstructionSelector(), and TM.

Member Function Documentation

◆ canDirectlyComparePointers()

bool SPIRVSubtarget::canDirectlyComparePointers ( ) const

Definition at line 97 of file SPIRVSubtarget.cpp.

References isAtLeastVer(), and SPVTranslatorCompat.

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

◆ canUseExtension()

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

◆ canUseExtInstSet()

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

Definition at line 80 of file SPIRVSubtarget.cpp.

References llvm::SmallSet< T, N, C >::contains().

◆ classof()

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

Definition at line 122 of file SPIRVSubtarget.h.

◆ getAllAvailableExtensions()

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

Definition at line 91 of file SPIRVSubtarget.h.

◆ getBound()

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

Definition at line 74 of file SPIRVSubtarget.h.

◆ getCallLowering()

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

Definition at line 99 of file SPIRVSubtarget.h.

◆ getFrameLowering()

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

Definition at line 112 of file SPIRVSubtarget.h.

◆ getInstrInfo()

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

◆ getInstructionSelector()

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

Definition at line 108 of file SPIRVSubtarget.h.

◆ getLegalizerInfo()

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

Definition at line 105 of file SPIRVSubtarget.h.

◆ getPointerSize()

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

Definition at line 73 of file SPIRVSubtarget.h.

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

◆ getRegBankInfo()

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

Definition at line 102 of file SPIRVSubtarget.h.

Referenced by validatePtrTypes().

◆ getRegisterInfo()

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

Definition at line 118 of file SPIRVSubtarget.h.

References llvm::SPIRVInstrInfo::getRegisterInfo().

Referenced by validatePtrTypes().

◆ getSPIRVGlobalRegistry()

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

Definition at line 97 of file SPIRVSubtarget.h.

Referenced by llvm::SPIRVTargetLowering::finalizeLowering().

◆ getSPIRVVersion()

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

Definition at line 84 of file SPIRVSubtarget.h.

◆ getTargetLowering()

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

Definition at line 115 of file SPIRVSubtarget.h.

◆ hasOpenCLFullProfile()

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

Definition at line 88 of file SPIRVSubtarget.h.

◆ hasOpenCLImageSupport()

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

Definition at line 89 of file SPIRVSubtarget.h.

◆ initSubtargetDependencies()

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

Definition at line 66 of file SPIRVSubtarget.cpp.

References ParseSubtargetFeatures().

◆ isAtLeastOpenCLVer()

bool SPIRVSubtarget::isAtLeastOpenCLVer ( uint32_t  VerToCompareTo) const

Definition at line 89 of file SPIRVSubtarget.cpp.

References isAtLeastVer(), and isOpenCLEnv().

◆ isAtLeastSPIRVVer()

bool SPIRVSubtarget::isAtLeastSPIRVVer ( uint32_t  VerToCompareTo) const

Definition at line 85 of file SPIRVSubtarget.cpp.

References isAtLeastVer().

◆ isOpenCLEnv()

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

◆ isVulkanEnv()

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

Definition at line 83 of file SPIRVSubtarget.h.

References llvm::Triple::getArch(), and llvm::Triple::spirv.

◆ ParseSubtargetFeatures()

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

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