LLVM  15.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

Public Member Functions

Register getFuncReg (std::string FuncName)
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

SPIRV::MemoryModel Mem
SPIRV::AddressingModel Addr
SPIRV::SourceLanguage SrcLang
unsigned SrcLangVersion
SmallVector< MachineInstr *, 4 > GlobalVarList
StringMap< RegisterFuncNameMap
DenseSet< MachineInstr * > InstrsToDelete
RegisterAliasMapTy RegisterAliasTable
unsigned MaxID
DenseMap< int, RegisterBBNumToRegMap

Detailed Description

Definition at line 50 of file SPIRVModuleAnalysis.h.

Member Function Documentation

◆ getFuncReg()

Register llvm::SPIRV::ModuleAnalysisInfo::getFuncReg ( std::string  FuncName)

Definition at line 73 of file SPIRVModuleAnalysis.h.

References assert(), and FuncNameMap.

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

◆ getMSInstrs()

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

Definition at line 78 of file SPIRVModuleAnalysis.h.

References MS.

◆ getNextID()

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

Definition at line 98 of file SPIRVModuleAnalysis.h.

References MaxID.

Referenced by getOrCreateMBBRegister().

◆ getOrCreateMBBRegister()

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

◆ getRegisterAlias()

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

Definition at line 87 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)

◆ hasMBBRegister()

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

Definition at line 99 of file SPIRVModuleAnalysis.h.

References BBNumToRegMap, and MBB.

◆ hasRegisterAlias()

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

Definition at line 94 of file SPIRVModuleAnalysis.h.

References RegisterAliasTable.

◆ setRegisterAlias()

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

Definition at line 83 of file SPIRVModuleAnalysis.h.

References RegisterAliasTable.

◆ setSkipEmission()

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

Member Data Documentation

◆ Addr

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

Definition at line 52 of file SPIRVModuleAnalysis.h.

◆ BBNumToRegMap

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

Definition at line 71 of file SPIRVModuleAnalysis.h.

Referenced by getOrCreateMBBRegister(), and hasMBBRegister().

◆ FuncNameMap

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

Definition at line 58 of file SPIRVModuleAnalysis.h.

Referenced by getFuncReg().

◆ GlobalVarList

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

Definition at line 56 of file SPIRVModuleAnalysis.h.

◆ InstrsToDelete

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

Definition at line 61 of file SPIRVModuleAnalysis.h.

Referenced by getSkipEmission(), and setSkipEmission().

◆ MaxID

unsigned llvm::SPIRV::ModuleAnalysisInfo::MaxID

Definition at line 67 of file SPIRVModuleAnalysis.h.

Referenced by getNextID().

◆ Mem

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

Definition at line 51 of file SPIRVModuleAnalysis.h.

◆ MS

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

Definition at line 69 of file SPIRVModuleAnalysis.h.

Referenced by getMSInstrs().

◆ RegisterAliasTable

RegisterAliasMapTy llvm::SPIRV::ModuleAnalysisInfo::RegisterAliasTable

Definition at line 65 of file SPIRVModuleAnalysis.h.

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

◆ SrcLang

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

Definition at line 53 of file SPIRVModuleAnalysis.h.

◆ SrcLangVersion

unsigned llvm::SPIRV::ModuleAnalysisInfo::SrcLangVersion

Definition at line 54 of file SPIRVModuleAnalysis.h.

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