LLVM 24.0.0git
llvm::SPIRV::ModuleAnalysisInfo Struct Reference

#include "Target/SPIRV/SPIRVModuleAnalysis.h"

Classes

struct  InstrAuxDataRecord

Public Types

enum class  AMDGPUAtomicMDKind : uint8_t { NoFineGrainedMemory , NoRemoteMemory , IgnoreDenormalMode , Last = IgnoreDenormalMode }

Public Member Functions

MCRegister getGlobalObjReg (const GlobalObject *GO)
MCRegister getExtInstSetReg (unsigned SetNum)
InstrList & getMSInstrs (unsigned MSType)
void setSkipEmission (const MachineInstr *MI)
bool getSkipEmission (const MachineInstr *MI)
void setRegisterAlias (const MachineFunction *MF, Register Reg, MCRegister AliasReg)
MCRegister getRegisterAlias (const MachineFunction *MF, Register Reg)
bool hasRegisterAlias (const MachineFunction *MF, Register Reg)
unsigned getNextID ()
MCRegister getNextIDRegister ()
bool hasMBBRegister (const MachineBasicBlock &MBB)
MCRegister getOrCreateMBBRegister (const MachineBasicBlock &MBB)
bool invalidate (Module &, const PreservedAnalyses &, ModuleAnalysisManager::Invalidator &)

Static Public Member Functions

static StringRef getAMDGPUAtomicMDName (AMDGPUAtomicMDKind Kind)

Public Attributes

RequirementHandler Reqs
MemoryModel::MemoryModel Mem
AddressingModel::AddressingModel Addr
SourceLanguage::SourceLanguage SrcLang
unsigned SrcLangVersion
StringSet SrcExt
DenseMap< unsigned, MCRegister > ExtInstSetMap
SmallVector< const MachineInstr *, 4 > GlobalVarList
DenseMap< const GlobalObject *, MCRegister > GlobalObjMap
DenseSet< const MachineInstr * > InstrsToDelete
RegisterAliasMapTy RegisterAliasTable
unsigned MaxID
InstrList MS [NUM_MODULE_SECTIONS]
DenseMap< std::pair< const MachineFunction *, int >, MCRegister > BBNumToRegMap
SmallVector< std::pair< MCRegister, StringRef > > MBBNames
FPFastMathDefaultInfoMapTy FPFastMathDefaultInfoMap
SmallVector< InstrAuxDataRecord > InstrAuxDataRecords

Detailed Description

Definition at line 138 of file SPIRVModuleAnalysis.h.

Member Enumeration Documentation

◆ AMDGPUAtomicMDKind

Enumerator
NoFineGrainedMemory 
NoRemoteMemory 
IgnoreDenormalMode 
Last 

Definition at line 173 of file SPIRVModuleAnalysis.h.

Member Function Documentation

◆ getAMDGPUAtomicMDName()

StringRef llvm::SPIRV::ModuleAnalysisInfo::getAMDGPUAtomicMDName ( AMDGPUAtomicMDKind Kind)
inlinestatic

◆ getExtInstSetReg()

◆ getGlobalObjReg()

MCRegister llvm::SPIRV::ModuleAnalysisInfo::getGlobalObjReg ( const GlobalObject * GO)
inline

◆ getMSInstrs()

InstrList & llvm::SPIRV::ModuleAnalysisInfo::getMSInstrs ( unsigned MSType)
inline

Definition at line 192 of file SPIRVModuleAnalysis.h.

References MS.

Referenced by llvm::SPIRVNonSemanticDebugHandler::prepareModuleOutput().

◆ getNextID()

unsigned llvm::SPIRV::ModuleAnalysisInfo::getNextID ( )
inline

Definition at line 215 of file SPIRVModuleAnalysis.h.

References MaxID.

Referenced by getNextIDRegister().

◆ getNextIDRegister()

MCRegister llvm::SPIRV::ModuleAnalysisInfo::getNextIDRegister ( )
inline

◆ getOrCreateMBBRegister()

MCRegister llvm::SPIRV::ModuleAnalysisInfo::getOrCreateMBBRegister ( const MachineBasicBlock & MBB)
inline

◆ getRegisterAlias()

MCRegister llvm::SPIRV::ModuleAnalysisInfo::getRegisterAlias ( const MachineFunction * MF,
Register Reg )
inline

◆ getSkipEmission()

bool llvm::SPIRV::ModuleAnalysisInfo::getSkipEmission ( const MachineInstr * MI)
inline

Definition at line 194 of file SPIRVModuleAnalysis.h.

References InstrsToDelete, and MI.

Referenced by isEmitted().

◆ hasMBBRegister()

bool llvm::SPIRV::ModuleAnalysisInfo::hasMBBRegister ( const MachineBasicBlock & MBB)
inline

◆ hasRegisterAlias()

bool llvm::SPIRV::ModuleAnalysisInfo::hasRegisterAlias ( const MachineFunction * MF,
Register Reg )
inline

Definition at line 209 of file SPIRVModuleAnalysis.h.

References Reg, and RegisterAliasTable.

◆ invalidate()

bool llvm::SPIRV::ModuleAnalysisInfo::invalidate ( Module & ,
const PreservedAnalyses & ,
ModuleAnalysisManager::Invalidator &  )
inline

Definition at line 243 of file SPIRVModuleAnalysis.h.

◆ setRegisterAlias()

void llvm::SPIRV::ModuleAnalysisInfo::setRegisterAlias ( const MachineFunction * MF,
Register Reg,
MCRegister AliasReg )
inline

Definition at line 197 of file SPIRVModuleAnalysis.h.

References Reg, and RegisterAliasTable.

◆ setSkipEmission()

void llvm::SPIRV::ModuleAnalysisInfo::setSkipEmission ( const MachineInstr * MI)
inline

Definition at line 193 of file SPIRVModuleAnalysis.h.

References InstrsToDelete, and MI.

Referenced by collectOtherInstr().

Member Data Documentation

◆ Addr

AddressingModel::AddressingModel llvm::SPIRV::ModuleAnalysisInfo::Addr

Definition at line 141 of file SPIRVModuleAnalysis.h.

Referenced by addInstrRequirements().

◆ BBNumToRegMap

DenseMap<std::pair<const MachineFunction *, int>, MCRegister> llvm::SPIRV::ModuleAnalysisInfo::BBNumToRegMap

Definition at line 163 of file SPIRVModuleAnalysis.h.

Referenced by getOrCreateMBBRegister(), and hasMBBRegister().

◆ ExtInstSetMap

◆ FPFastMathDefaultInfoMap

FPFastMathDefaultInfoMapTy llvm::SPIRV::ModuleAnalysisInfo::FPFastMathDefaultInfoMap

Definition at line 171 of file SPIRVModuleAnalysis.h.

◆ GlobalObjMap

DenseMap<const GlobalObject *, MCRegister> llvm::SPIRV::ModuleAnalysisInfo::GlobalObjMap

Definition at line 150 of file SPIRVModuleAnalysis.h.

Referenced by getGlobalObjReg().

◆ GlobalVarList

SmallVector<const MachineInstr *, 4> llvm::SPIRV::ModuleAnalysisInfo::GlobalVarList

Definition at line 148 of file SPIRVModuleAnalysis.h.

◆ InstrAuxDataRecords

◆ InstrsToDelete

DenseSet<const MachineInstr *> llvm::SPIRV::ModuleAnalysisInfo::InstrsToDelete

Definition at line 153 of file SPIRVModuleAnalysis.h.

Referenced by getSkipEmission(), and setSkipEmission().

◆ MaxID

unsigned llvm::SPIRV::ModuleAnalysisInfo::MaxID

Definition at line 159 of file SPIRVModuleAnalysis.h.

Referenced by getNextID().

◆ MBBNames

SmallVector<std::pair<MCRegister, StringRef> > llvm::SPIRV::ModuleAnalysisInfo::MBBNames

Definition at line 165 of file SPIRVModuleAnalysis.h.

Referenced by addMBBNames().

◆ Mem

MemoryModel::MemoryModel llvm::SPIRV::ModuleAnalysisInfo::Mem

Definition at line 140 of file SPIRVModuleAnalysis.h.

◆ MS

InstrList llvm::SPIRV::ModuleAnalysisInfo::MS[NUM_MODULE_SECTIONS]

Definition at line 161 of file SPIRVModuleAnalysis.h.

Referenced by collectOtherInstr(), and getMSInstrs().

◆ RegisterAliasTable

RegisterAliasMapTy llvm::SPIRV::ModuleAnalysisInfo::RegisterAliasTable

Definition at line 157 of file SPIRVModuleAnalysis.h.

Referenced by getRegisterAlias(), hasRegisterAlias(), and setRegisterAlias().

◆ Reqs

◆ SrcExt

StringSet llvm::SPIRV::ModuleAnalysisInfo::SrcExt

Definition at line 144 of file SPIRVModuleAnalysis.h.

◆ SrcLang

SourceLanguage::SourceLanguage llvm::SPIRV::ModuleAnalysisInfo::SrcLang

Definition at line 142 of file SPIRVModuleAnalysis.h.

◆ SrcLangVersion

unsigned llvm::SPIRV::ModuleAnalysisInfo::SrcLangVersion

Definition at line 143 of file SPIRVModuleAnalysis.h.


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