LLVM  8.0.1
Macros | Functions
SparcAsmPrinter.cpp File Reference
#include "InstPrinter/SparcInstPrinter.h"
#include "MCTargetDesc/SparcMCExpr.h"
#include "MCTargetDesc/SparcTargetStreamer.h"
#include "Sparc.h"
#include "SparcInstrInfo.h"
#include "SparcTargetMachine.h"
#include "llvm/CodeGen/AsmPrinter.h"
#include "llvm/CodeGen/MachineInstr.h"
#include "llvm/CodeGen/MachineModuleInfoImpls.h"
#include "llvm/CodeGen/MachineRegisterInfo.h"
#include "llvm/CodeGen/TargetLoweringObjectFileImpl.h"
#include "llvm/IR/Mangler.h"
#include "llvm/MC/MCAsmInfo.h"
#include "llvm/MC/MCContext.h"
#include "llvm/MC/MCInst.h"
#include "llvm/MC/MCStreamer.h"
#include "llvm/MC/MCSymbol.h"
#include "llvm/Support/TargetRegistry.h"
#include "llvm/Support/raw_ostream.h"
Include dependency graph for SparcAsmPrinter.cpp:

Go to the source code of this file.

Macros

#define DEBUG_TYPE   "asm-printer"
 

Functions

static MCOperand createSparcMCOperand (SparcMCExpr::VariantKind Kind, MCSymbol *Sym, MCContext &OutContext)
 
static MCOperand createPCXCallOP (MCSymbol *Label, MCContext &OutContext)
 
static MCOperand createPCXRelExprOp (SparcMCExpr::VariantKind Kind, MCSymbol *GOTLabel, MCSymbol *StartLabel, MCSymbol *CurLabel, MCContext &OutContext)
 
static void EmitCall (MCStreamer &OutStreamer, MCOperand &Callee, const MCSubtargetInfo &STI)
 
static void EmitSETHI (MCStreamer &OutStreamer, MCOperand &Imm, MCOperand &RD, const MCSubtargetInfo &STI)
 
static void EmitBinary (MCStreamer &OutStreamer, unsigned Opcode, MCOperand &RS1, MCOperand &Src2, MCOperand &RD, const MCSubtargetInfo &STI)
 
static void EmitOR (MCStreamer &OutStreamer, MCOperand &RS1, MCOperand &Imm, MCOperand &RD, const MCSubtargetInfo &STI)
 
static void EmitADD (MCStreamer &OutStreamer, MCOperand &RS1, MCOperand &RS2, MCOperand &RD, const MCSubtargetInfo &STI)
 
static void EmitSHL (MCStreamer &OutStreamer, MCOperand &RS1, MCOperand &Imm, MCOperand &RD, const MCSubtargetInfo &STI)
 
static void EmitHiLo (MCStreamer &OutStreamer, MCSymbol *GOTSym, SparcMCExpr::VariantKind HiKind, SparcMCExpr::VariantKind LoKind, MCOperand &RD, MCContext &OutContext, const MCSubtargetInfo &STI)
 
void LLVMInitializeSparcAsmPrinter ()
 

Macro Definition Documentation

◆ DEBUG_TYPE

#define DEBUG_TYPE   "asm-printer"

Definition at line 36 of file SparcAsmPrinter.cpp.

Function Documentation

◆ createPCXCallOP()

static MCOperand createPCXCallOP ( MCSymbol Label,
MCContext OutContext 
)
static

Definition at line 83 of file SparcAsmPrinter.cpp.

References createSparcMCOperand(), and llvm::SparcMCExpr::VK_Sparc_None.

Referenced by EmitHiLo().

◆ createPCXRelExprOp()

static MCOperand createPCXRelExprOp ( SparcMCExpr::VariantKind  Kind,
MCSymbol GOTLabel,
MCSymbol StartLabel,
MCSymbol CurLabel,
MCContext OutContext 
)
static

Definition at line 88 of file SparcAsmPrinter.cpp.

References llvm::MCSymbolRefExpr::create(), and llvm::PICStyles::GOT.

Referenced by EmitHiLo().

◆ createSparcMCOperand()

static MCOperand createSparcMCOperand ( SparcMCExpr::VariantKind  Kind,
MCSymbol Sym,
MCContext OutContext 
)
static

◆ EmitADD()

static void EmitADD ( MCStreamer OutStreamer,
MCOperand RS1,
MCOperand RS2,
MCOperand RD,
const MCSubtargetInfo STI 
)
static

Definition at line 145 of file SparcAsmPrinter.cpp.

References EmitBinary().

Referenced by EmitHiLo().

◆ EmitBinary()

static void EmitBinary ( MCStreamer OutStreamer,
unsigned  Opcode,
MCOperand RS1,
MCOperand Src2,
MCOperand RD,
const MCSubtargetInfo STI 
)
static

◆ EmitCall()

static void EmitCall ( MCStreamer OutStreamer,
MCOperand Callee,
const MCSubtargetInfo STI 
)
static

◆ EmitHiLo()

static void EmitHiLo ( MCStreamer OutStreamer,
MCSymbol GOTSym,
SparcMCExpr::VariantKind  HiKind,
SparcMCExpr::VariantKind  LoKind,
MCOperand RD,
MCContext OutContext,
const MCSubtargetInfo STI 
)
static

Definition at line 158 of file SparcAsmPrinter.cpp.

References assert(), llvm::AArch64ISD::CALL, Callee, llvm::MCConstantExpr::create(), llvm::MCOperand::createExpr(), createPCXCallOP(), createPCXRelExprOp(), llvm::MCOperand::createReg(), createSparcMCOperand(), E, EmitADD(), EmitCall(), EmitOR(), EmitSETHI(), EmitSHL(), llvm::MachineOperand::getBlockAddress(), llvm::MachineOperand::getGlobal(), llvm::MachineOperand::getImm(), llvm::MachineOperand::getIndex(), llvm::ilist_node_impl< OptionsT >::getIterator(), llvm::MachineOperand::getMBB(), llvm::MachineOperand::getMetadata(), getName(), llvm::MachineInstr::getOpcode(), llvm::MachineInstr::getOperand(), llvm::MachineInstr::getParent(), llvm::DataLayout::getPrivateGlobalPrefix(), llvm::MachineOperand::getReg(), getRegisterName(), llvm::object::getSymbol(), llvm::MachineBasicBlock::getSymbol(), llvm::MachineOperand::getSymbolName(), llvm::MachineOperand::getTargetFlags(), llvm::MachineOperand::getType(), I, llvm::MachineBasicBlock::instr_end(), llvm::SparcSubtarget::is64Bit(), llvm::MachineOperand::isCPI(), llvm::MachineOperand::isGlobal(), llvm::MachineOperand::isImm(), llvm::MachineOperand::isReg(), llvm::MachineOperand::isSymbol(), llvm::CodeModel::Large, llvm_unreachable, llvm::StringRef::lower(), llvm::LowerSparcMachineInstrToMCInst(), llvm::CodeModel::Medium, MI, llvm::MachineOperand::MO_BlockAddress, llvm::MachineOperand::MO_ConstantPoolIndex, llvm::MachineOperand::MO_ExternalSymbol, llvm::MachineOperand::MO_GlobalAddress, llvm::MachineOperand::MO_Immediate, llvm::MachineOperand::MO_MachineBasicBlock, llvm::MachineOperand::MO_Metadata, llvm::MachineOperand::MO_Register, MRI, llvm::RISCVFenceField::O, print(), llvm::MCSymbol::print(), llvm::AsmPrinter::PrintAsmOperand(), llvm::Metadata::printAsOperand(), printMemOperand(), printOperand(), llvm::SparcMCExpr::printVariantKind(), llvm::CodeModel::Small, llvm::SPISD::TLS_CALL, llvm::SystemZISD::TM, llvm::MachineRegisterInfo::use_empty(), llvm::SparcMCExpr::VK_Sparc_H44, llvm::SparcMCExpr::VK_Sparc_HH, llvm::SparcMCExpr::VK_Sparc_HI, llvm::SparcMCExpr::VK_Sparc_HM, llvm::SparcMCExpr::VK_Sparc_L44, llvm::SparcMCExpr::VK_Sparc_LO, llvm::SparcMCExpr::VK_Sparc_M44, llvm::SparcMCExpr::VK_Sparc_None, llvm::SparcMCExpr::VK_Sparc_PC10, llvm::SparcMCExpr::VK_Sparc_PC22, llvm::SparcMCExpr::VK_Sparc_TLS_GD_ADD, llvm::SparcMCExpr::VK_Sparc_TLS_GD_CALL, llvm::SparcMCExpr::VK_Sparc_TLS_GD_HI22, llvm::SparcMCExpr::VK_Sparc_TLS_GD_LO10, llvm::SparcMCExpr::VK_Sparc_TLS_IE_ADD, llvm::SparcMCExpr::VK_Sparc_TLS_IE_HI22, llvm::SparcMCExpr::VK_Sparc_TLS_IE_LD, llvm::SparcMCExpr::VK_Sparc_TLS_IE_LDX, llvm::SparcMCExpr::VK_Sparc_TLS_IE_LO10, llvm::SparcMCExpr::VK_Sparc_TLS_LDM_ADD, llvm::SparcMCExpr::VK_Sparc_TLS_LDM_CALL, llvm::SparcMCExpr::VK_Sparc_TLS_LDM_HI22, llvm::SparcMCExpr::VK_Sparc_TLS_LDM_LO10, llvm::SparcMCExpr::VK_Sparc_TLS_LDO_ADD, llvm::SparcMCExpr::VK_Sparc_TLS_LDO_HIX22, llvm::SparcMCExpr::VK_Sparc_TLS_LDO_LOX10, llvm::SparcMCExpr::VK_Sparc_TLS_LE_HIX22, and llvm::SparcMCExpr::VK_Sparc_TLS_LE_LOX10.

◆ EmitOR()

static void EmitOR ( MCStreamer OutStreamer,
MCOperand RS1,
MCOperand Imm,
MCOperand RD,
const MCSubtargetInfo STI 
)
static

Definition at line 139 of file SparcAsmPrinter.cpp.

References EmitBinary().

Referenced by EmitHiLo().

◆ EmitSETHI()

static void EmitSETHI ( MCStreamer OutStreamer,
MCOperand Imm,
MCOperand RD,
const MCSubtargetInfo STI 
)
static

◆ EmitSHL()

static void EmitSHL ( MCStreamer OutStreamer,
MCOperand RS1,
MCOperand Imm,
MCOperand RD,
const MCSubtargetInfo STI 
)
static

Definition at line 151 of file SparcAsmPrinter.cpp.

References EmitBinary().

Referenced by EmitHiLo().

◆ LLVMInitializeSparcAsmPrinter()

void LLVMInitializeSparcAsmPrinter ( )