LLVM 18.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
 
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 58 of file SPIRVSubtarget.cpp.

References llvm::createSPIRVInstructionSelector(), InstrInfo, and TM.

Member Function Documentation

◆ canDirectlyComparePointers()

bool SPIRVSubtarget::canDirectlyComparePointers ( ) const

Definition at line 108 of file SPIRVSubtarget.cpp.

References isAtLeastVer().

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

◆ canUseExtension()

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

Definition at line 88 of file SPIRVSubtarget.cpp.

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

◆ canUseExtInstSet()

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

Definition at line 92 of file SPIRVSubtarget.cpp.

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

◆ classof()

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

Definition at line 121 of file SPIRVSubtarget.h.

◆ getAllAvailableExtensions()

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

Definition at line 90 of file SPIRVSubtarget.h.

◆ getCallLowering()

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

Definition at line 98 of file SPIRVSubtarget.h.

◆ getFrameLowering()

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

Definition at line 111 of file SPIRVSubtarget.h.

◆ getInstrInfo()

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

Definition at line 110 of file SPIRVSubtarget.h.

References InstrInfo.

Referenced by generateAssignInstrs().

◆ getInstructionSelector()

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

Definition at line 107 of file SPIRVSubtarget.h.

◆ getLegalizerInfo()

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

Definition at line 104 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 101 of file SPIRVSubtarget.h.

◆ getRegisterInfo()

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

Definition at line 117 of file SPIRVSubtarget.h.

References InstrInfo.

◆ getSPIRVGlobalRegistry()

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

Definition at line 96 of file SPIRVSubtarget.h.

◆ getSPIRVVersion()

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

Definition at line 83 of file SPIRVSubtarget.h.

◆ getTargetLowering()

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

Definition at line 114 of file SPIRVSubtarget.h.

◆ hasOpenCLFullProfile()

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

Definition at line 87 of file SPIRVSubtarget.h.

◆ hasOpenCLImageSupport()

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

Definition at line 88 of file SPIRVSubtarget.h.

◆ initSubtargetDependencies()

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

Definition at line 78 of file SPIRVSubtarget.cpp.

References ParseSubtargetFeatures().

◆ isAtLeastOpenCLVer()

bool SPIRVSubtarget::isAtLeastOpenCLVer ( uint32_t  VerToCompareTo) const

Definition at line 101 of file SPIRVSubtarget.cpp.

References isAtLeastVer(), and isOpenCLEnv().

◆ isAtLeastSPIRVVer()

bool SPIRVSubtarget::isAtLeastSPIRVVer ( uint32_t  VerToCompareTo) const

Definition at line 97 of file SPIRVSubtarget.cpp.

References isAtLeastVer().

◆ isOpenCLEnv()

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

◆ isVulkanEnv()

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

Definition at line 82 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: