13#ifndef LLVM_LIB_TARGET_SPIRV_SPIRVSUBTARGET_H
14#define LLVM_LIB_TARGET_SPIRV_SPIRVSUBTARGET_H
28#define GET_SUBTARGETINFO_HEADER
29#include "SPIRVGenSubtargetInfo.inc"
33class SPIRVTargetMachine;
37 const unsigned PointerSize;
43 std::unique_ptr<SPIRVGlobalRegistry> GR;
50 std::unique_ptr<CallLowering> CallLoweringInfo;
51 std::unique_ptr<RegisterBankInfo> RegBankInfo;
53 std::unique_ptr<InstructionSelector> InstSelector;
57 void initAvailableExtensions();
58 void initAvailableExtInstSets();
88 return CallLoweringInfo.get();
91 return RegBankInfo.get();
97 return InstSelector.get();
101 return &FrameLowering;
static GCRegistry::Add< CoreCLRGC > E("coreclr", "CoreCLR-compatible GC")
This file describes how to lower LLVM calls to machine code calls.
Interface for Targets to specify which operations they can successfully select and how the others sho...
const char LLVMTargetMachineRef TM
Provides the logic to select generic machine instructions.
Holds all the information related to register banks.
unsigned getPointerSize() const
bool hasOpenCLImageSupport() const
SPIRVSubtarget & initSubtargetDependencies(StringRef CPU, StringRef FS)
bool isAtLeastOpenCLVer(uint32_t VerToCompareTo) const
InstructionSelector * getInstructionSelector() const override
const LegalizerInfo * getLegalizerInfo() const override
bool canDirectlyComparePointers() const
const SPIRVInstrInfo * getInstrInfo() const override
SPIRVGlobalRegistry * getSPIRVGlobalRegistry() const
bool isAtLeastSPIRVVer(uint32_t VerToCompareTo) const
const SPIRVRegisterInfo * getRegisterInfo() const override
const SPIRVTargetLowering * getTargetLowering() const override
void ParseSubtargetFeatures(StringRef CPU, StringRef TuneCPU, StringRef FS)
bool canUseExtInstSet(SPIRV::InstructionSet::InstructionSet E) const
uint32_t getSPIRVVersion() const
const RegisterBankInfo * getRegBankInfo() const override
const CallLowering * getCallLowering() const override
bool hasOpenCLFullProfile() const
bool canUseExtension(SPIRV::Extension::Extension E) const
const SPIRVFrameLowering * getFrameLowering() const override
SmallSet - This maintains a set of unique values, optimizing for the case when the set is small (less...
StringRef - Represent a constant reference to a string, i.e.
Triple - Helper class for working with autoconf configuration names.
This is an optimization pass for GlobalISel generic memory operations.