LLVM  16.0.0git
Public Member Functions | Public Attributes | List of all members
llvm::SPIRV::ModuleAnalysisInfo Struct Reference

#include "Target/SPIRV/SPIRVModuleAnalysis.h"

Collaboration diagram for llvm::SPIRV::ModuleAnalysisInfo:
Collaboration graph
[legend]

Public Member Functions

Register getFuncReg (const Function *F)
 
Register getExtInstSetReg (unsigned SetNum)
 
InstrListgetMSInstrs (unsigned MSType)
 
void setSkipEmission (MachineInstr *MI)
 
bool getSkipEmission (const MachineInstr *MI)
 
void setRegisterAlias (const MachineFunction *MF, Register Reg, Register AliasReg)
 
Register getRegisterAlias (const MachineFunction *MF, Register Reg)
 
bool hasRegisterAlias (const MachineFunction *MF, Register Reg)
 
unsigned getNextID ()
 
bool hasMBBRegister (const MachineBasicBlock &MBB)
 
Register getOrCreateMBBRegister (const MachineBasicBlock &MBB)
 

Public Attributes

RequirementHandler Reqs
 
MemoryModel::MemoryModel Mem
 
AddressingModel::AddressingModel Addr
 
SourceLanguage::SourceLanguage SrcLang
 
unsigned SrcLangVersion
 
StringSet SrcExt
 
DenseMap< unsigned, RegisterExtInstSetMap
 
SmallVector< MachineInstr *, 4 > GlobalVarList
 
StringMap< RegisterFuncNameMap
 
DenseSet< MachineInstr * > InstrsToDelete
 
DenseSet< MachineBasicBlock * > MBBsToSkip
 
RegisterAliasMapTy RegisterAliasTable
 
unsigned MaxID
 
InstrList MS [NUM_MODULE_SECTIONS]
 
DenseMap< int, RegisterBBNumToRegMap
 

Detailed Description

Definition at line 123 of file SPIRVModuleAnalysis.h.

Member Function Documentation

◆ getExtInstSetReg()

Register llvm::SPIRV::ModuleAnalysisInfo::getExtInstSetReg ( unsigned  SetNum)
inline

Definition at line 159 of file SPIRVModuleAnalysis.h.

References ExtInstSetMap.

Referenced by llvm::SPIRVMCInstLower::lower().

◆ getFuncReg()

Register llvm::SPIRV::ModuleAnalysisInfo::getFuncReg ( const Function F)
inline

◆ getMSInstrs()

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

Definition at line 160 of file SPIRVModuleAnalysis.h.

References MS.

◆ getNextID()

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

Definition at line 180 of file SPIRVModuleAnalysis.h.

References MaxID.

Referenced by getOrCreateMBBRegister().

◆ getOrCreateMBBRegister()

Register llvm::SPIRV::ModuleAnalysisInfo::getOrCreateMBBRegister ( const MachineBasicBlock MBB)
inline

◆ getRegisterAlias()

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

Definition at line 169 of file SPIRVModuleAnalysis.h.

References llvm::sys::path::end(), and RegisterAliasTable.

Referenced by llvm::SPIRVMCInstLower::lower().

◆ getSkipEmission()

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

Definition at line 162 of file SPIRVModuleAnalysis.h.

References InstrsToDelete, and MI.

◆ hasMBBRegister()

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

Definition at line 181 of file SPIRVModuleAnalysis.h.

References BBNumToRegMap, and MBB.

◆ hasRegisterAlias()

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

Definition at line 176 of file SPIRVModuleAnalysis.h.

References RegisterAliasTable.

◆ setRegisterAlias()

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

Definition at line 165 of file SPIRVModuleAnalysis.h.

References RegisterAliasTable.

◆ setSkipEmission()

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

Definition at line 161 of file SPIRVModuleAnalysis.h.

References InstrsToDelete, and MI.

Member Data Documentation

◆ Addr

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

Definition at line 126 of file SPIRVModuleAnalysis.h.

◆ BBNumToRegMap

DenseMap<int, Register> llvm::SPIRV::ModuleAnalysisInfo::BBNumToRegMap

Definition at line 151 of file SPIRVModuleAnalysis.h.

Referenced by getOrCreateMBBRegister(), and hasMBBRegister().

◆ ExtInstSetMap

DenseMap<unsigned, Register> llvm::SPIRV::ModuleAnalysisInfo::ExtInstSetMap

Definition at line 131 of file SPIRVModuleAnalysis.h.

Referenced by getExtInstSetReg().

◆ FuncNameMap

StringMap<Register> llvm::SPIRV::ModuleAnalysisInfo::FuncNameMap

Definition at line 135 of file SPIRVModuleAnalysis.h.

Referenced by getFuncReg().

◆ GlobalVarList

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

Definition at line 133 of file SPIRVModuleAnalysis.h.

◆ InstrsToDelete

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

Definition at line 138 of file SPIRVModuleAnalysis.h.

Referenced by getSkipEmission(), and setSkipEmission().

◆ MaxID

unsigned llvm::SPIRV::ModuleAnalysisInfo::MaxID

Definition at line 147 of file SPIRVModuleAnalysis.h.

Referenced by getNextID().

◆ MBBsToSkip

DenseSet<MachineBasicBlock *> llvm::SPIRV::ModuleAnalysisInfo::MBBsToSkip

Definition at line 141 of file SPIRVModuleAnalysis.h.

◆ Mem

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

Definition at line 125 of file SPIRVModuleAnalysis.h.

◆ MS

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

Definition at line 149 of file SPIRVModuleAnalysis.h.

Referenced by getMSInstrs(), and llvm::SPIRVModuleAnalysis::runOnModule().

◆ RegisterAliasTable

RegisterAliasMapTy llvm::SPIRV::ModuleAnalysisInfo::RegisterAliasTable

Definition at line 145 of file SPIRVModuleAnalysis.h.

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

◆ Reqs

RequirementHandler llvm::SPIRV::ModuleAnalysisInfo::Reqs

Definition at line 124 of file SPIRVModuleAnalysis.h.

Referenced by llvm::SPIRVModuleAnalysis::runOnModule().

◆ SrcExt

StringSet llvm::SPIRV::ModuleAnalysisInfo::SrcExt

Definition at line 129 of file SPIRVModuleAnalysis.h.

◆ SrcLang

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

Definition at line 127 of file SPIRVModuleAnalysis.h.

◆ SrcLangVersion

unsigned llvm::SPIRV::ModuleAnalysisInfo::SrcLangVersion

Definition at line 128 of file SPIRVModuleAnalysis.h.


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