LLVM: lib/Target/SPIRV/SPIRVAsmPrinter.cpp File Reference (original) (raw)

#include "[MCTargetDesc/SPIRVInstPrinter.h](SPIRVInstPrinter%5F8h%5Fsource.html)"
#include "[SPIRV.h](SPIRV%5F8h%5Fsource.html)"
#include "[SPIRVInstrInfo.h](SPIRVInstrInfo%5F8h%5Fsource.html)"
#include "[SPIRVMCInstLower.h](SPIRVMCInstLower%5F8h%5Fsource.html)"
#include "[SPIRVModuleAnalysis.h](SPIRVModuleAnalysis%5F8h%5Fsource.html)"
#include "[SPIRVSubtarget.h](SPIRVSubtarget%5F8h%5Fsource.html)"
#include "[SPIRVTargetMachine.h](SPIRVTargetMachine%5F8h%5Fsource.html)"
#include "[SPIRVUtils.h](SPIRVUtils%5F8h%5Fsource.html)"
#include "[TargetInfo/SPIRVTargetInfo.h](SPIRVTargetInfo%5F8h%5Fsource.html)"
#include "[llvm/ADT/DenseMap.h](DenseMap%5F8h%5Fsource.html)"
#include "[llvm/Analysis/ValueTracking.h](ValueTracking%5F8h%5Fsource.html)"
#include "[llvm/CodeGen/AsmPrinter.h](AsmPrinter%5F8h%5Fsource.html)"
#include "[llvm/CodeGen/MachineConstantPool.h](MachineConstantPool%5F8h%5Fsource.html)"
#include "[llvm/CodeGen/MachineInstr.h](MachineInstr%5F8h%5Fsource.html)"
#include "[llvm/CodeGen/MachineModuleInfo.h](MachineModuleInfo%5F8h%5Fsource.html)"
#include "[llvm/CodeGen/TargetLoweringObjectFileImpl.h](TargetLoweringObjectFileImpl%5F8h%5Fsource.html)"
#include "[llvm/MC/MCAsmInfo.h](MCAsmInfo%5F8h%5Fsource.html)"
#include "[llvm/MC/MCAssembler.h](MCAssembler%5F8h%5Fsource.html)"
#include "[llvm/MC/MCInst.h](MCInst%5F8h%5Fsource.html)"
#include "[llvm/MC/MCObjectStreamer.h](MCObjectStreamer%5F8h%5Fsource.html)"
#include "[llvm/MC/MCSPIRVObjectWriter.h](MCSPIRVObjectWriter%5F8h%5Fsource.html)"
#include "[llvm/MC/MCStreamer.h](MCStreamer%5F8h%5Fsource.html)"
#include "[llvm/MC/MCSymbol.h](MCSymbol%5F8h%5Fsource.html)"
#include "[llvm/MC/TargetRegistry.h](TargetRegistry%5F8h%5Fsource.html)"
#include "[llvm/Support/Compiler.h](Compiler%5F8h%5Fsource.html)"
#include "[llvm/Support/raw_ostream.h](raw%5F%5Fostream%5F8h%5Fsource.html)"

Go to the source code of this file.

Macros
#define DEBUG_TYPE "asm-printer"
Functions
static bool isFuncOrHeaderInstr (const MachineInstr *MI, const SPIRVInstrInfo *TII)
static unsigned encodeVecTypeHint (Type *Ty)
static void addOpsFromMDNode (MDNode *MDN, MCInst &Inst, SPIRV::ModuleAnalysisInfo *MAI)
INITIALIZE_PASS (SPIRVAsmPrinter, "spirv-asm-printer", "SPIRV Assembly Printer", false, false) extern "C" LLVM_ABI LLVM_EXTERNAL_VISIBILITY void LLVMInitializeSPIRVAsmPrinter()

Macro Definition Documentation

DEBUG_TYPE

#define DEBUG_TYPE "asm-printer"

Definition at line 43 of file SPIRVAsmPrinter.cpp.

Function Documentation

addOpsFromMDNode()

void addOpsFromMDNode ( MDNode * MDN, MCInst & Inst, SPIRV::ModuleAnalysisInfo * MAI ) static

Definition at line 444 of file SPIRVAsmPrinter.cpp.

References llvm::MCInst::addOperand(), assert(), llvm::CallingConv::C, llvm::MCOperand::createImm(), llvm::MCOperand::createReg(), llvm::dyn_cast(), llvm::SPIRV::ModuleAnalysisInfo::getFuncReg(), llvm::MCRegister::isValid(), and llvm::MDNode::operands().

encodeVecTypeHint()

unsigned encodeVecTypeHint ( Type * Ty) static

Definition at line 415 of file SPIRVAsmPrinter.cpp.

References llvm::dyn_cast(), encodeVecTypeHint(), llvm_unreachable, and Size.

Referenced by encodeVecTypeHint().

INITIALIZE_PASS()

INITIALIZE_PASS ( SPIRVAsmPrinter ,
"spirv-asm-printer" ,
"SPIRV Assembly Printer" ,
false ,
false )

Definition at line 872 of file SPIRVAsmPrinter.cpp.

References llvm::getTheSPIRV32Target(), llvm::getTheSPIRV64Target(), llvm::getTheSPIRVLogicalTarget(), LLVM_ABI, LLVM_EXTERNAL_VISIBILITY, X, and Y.

isFuncOrHeaderInstr()

bool isFuncOrHeaderInstr ( const MachineInstr * MI, const SPIRVInstrInfo * TII ) static

Definition at line 263 of file SPIRVAsmPrinter.cpp.

References MI, and TII.