LLVM API Documentation
#include "X86AsmPrinter.h"
#include "InstPrinter/X86ATTInstPrinter.h"
#include "MCTargetDesc/X86BaseInfo.h"
#include "X86InstrInfo.h"
#include "X86MachineFunctionInfo.h"
#include "llvm/ADT/SmallString.h"
#include "llvm/CodeGen/MachineConstantPool.h"
#include "llvm/CodeGen/MachineModuleInfoImpls.h"
#include "llvm/CodeGen/MachineValueType.h"
#include "llvm/CodeGen/TargetLoweringObjectFileImpl.h"
#include "llvm/IR/DebugInfo.h"
#include "llvm/IR/DerivedTypes.h"
#include "llvm/IR/Mangler.h"
#include "llvm/IR/Module.h"
#include "llvm/IR/Type.h"
#include "llvm/MC/MCAsmInfo.h"
#include "llvm/MC/MCContext.h"
#include "llvm/MC/MCExpr.h"
#include "llvm/MC/MCSectionCOFF.h"
#include "llvm/MC/MCSectionMachO.h"
#include "llvm/MC/MCStreamer.h"
#include "llvm/MC/MCSymbol.h"
#include "llvm/Support/COFF.h"
#include "llvm/Support/Debug.h"
#include "llvm/Support/ErrorHandling.h"
#include "llvm/Support/TargetRegistry.h"
Go to the source code of this file.
static void emitNonLazySymbolPointer | ( | MCStreamer & | OutStreamer, |
MCSymbol * | StubLabel, | ||
MachineModuleInfoImpl::StubValueTy & | MCSym | ||
) | [static] |
Definition at line 534 of file X86AsmPrinter.cpp.
References llvm::MCSymbolRefExpr::Create(), llvm::MCStreamer::EmitIntValue(), llvm::MCStreamer::EmitLabel(), llvm::MCStreamer::EmitSymbolAttribute(), llvm::MCStreamer::EmitValue(), llvm::MCStreamer::getContext(), llvm::PointerIntPair< PointerTy, IntBits, IntType, PtrTraits >::getInt(), llvm::PointerIntPair< PointerTy, IntBits, IntType, PtrTraits >::getPointer(), and llvm::MCSA_IndirectSymbol.
Referenced by llvm::X86AsmPrinter::EmitEndOfAsmFile().
void LLVMInitializeX86AsmPrinter | ( | ) |
Definition at line 751 of file X86AsmPrinter.cpp.
References llvm::TheX86_32Target, llvm::TheX86_64Target, llvm::X, and Y.
static bool printAsmMRegister | ( | X86AsmPrinter & | P, |
const MachineOperand & | MO, | ||
char | Mode, | ||
raw_ostream & | O | ||
) | [static] |
Definition at line 352 of file X86AsmPrinter.cpp.
References llvm::MachineOperand::getReg(), llvm::X86AsmPrinter::getSubtarget(), llvm::getX86SubSuperRegister(), llvm::MVT::i16, llvm::MVT::i32, llvm::MVT::i64, and llvm::MVT::i8.
Referenced by llvm::X86AsmPrinter::PrintAsmOperand().
static void printIntelMemReference | ( | X86AsmPrinter & | P, |
const MachineInstr * | MI, | ||
unsigned | Op, | ||
raw_ostream & | O, | ||
const char * | Modifier = nullptr , |
||
unsigned | AsmVariant = 1 |
||
) | [static] |
Definition at line 300 of file X86AsmPrinter.cpp.
References llvm::X86::AddrBaseReg, llvm::X86::AddrDisp, llvm::X86::AddrIndexReg, llvm::X86::AddrScaleAmt, llvm::X86::AddrSegmentReg, llvm::MachineOperand::getImm(), llvm::MachineInstr::getOperand(), llvm::MachineOperand::getReg(), llvm::MachineOperand::isImm(), and printOperand().
Referenced by llvm::X86AsmPrinter::PrintAsmMemoryOperand().
static void printLeaMemReference | ( | X86AsmPrinter & | P, |
const MachineInstr * | MI, | ||
unsigned | Op, | ||
raw_ostream & | O, | ||
const char * | Modifier = nullptr |
||
) | [static] |
Definition at line 236 of file X86AsmPrinter.cpp.
References llvm::X86::AddrBaseReg, llvm::X86::AddrDisp, llvm::X86::AddrIndexReg, llvm::X86::AddrScaleAmt, llvm::N86::ESP, llvm::MachineOperand::getImm(), llvm::MachineInstr::getOperand(), llvm::MachineOperand::getReg(), llvm::MachineOperand::getType(), llvm_unreachable, llvm::MachineOperand::MO_ConstantPoolIndex, llvm::MachineOperand::MO_GlobalAddress, llvm::MachineOperand::MO_Immediate, printOperand(), printSymbolOperand(), and llvm::LibFunc::strcmp.
Referenced by printMemReference().
static void printMemReference | ( | X86AsmPrinter & | P, |
const MachineInstr * | MI, | ||
unsigned | Op, | ||
raw_ostream & | O, | ||
const char * | Modifier = nullptr |
||
) | [static] |
Definition at line 288 of file X86AsmPrinter.cpp.
References llvm::X86::AddrSegmentReg, llvm::MachineInstr::getOperand(), llvm::MachineOperand::getReg(), llvm::isMem(), printLeaMemReference(), and printOperand().
Referenced by llvm::X86AsmPrinter::PrintAsmMemoryOperand(), llvm::final< T >::printf128mem(), llvm::final< T >::printf256mem(), llvm::final< T >::printf32mem(), llvm::final< T >::printf512mem(), llvm::final< T >::printf64mem(), llvm::final< T >::printf80mem(), llvm::final< T >::printi128mem(), llvm::final< T >::printi16mem(), llvm::final< T >::printi256mem(), llvm::final< T >::printi32mem(), llvm::final< T >::printi512mem(), llvm::final< T >::printi64mem(), llvm::final< T >::printi8mem(), and llvm::final< T >::printopaquemem().
static void printOperand | ( | X86AsmPrinter & | P, |
const MachineInstr * | MI, | ||
unsigned | OpNo, | ||
raw_ostream & | O, | ||
const char * | Modifier = nullptr , |
||
unsigned | AsmVariant = 0 |
||
) | [static] |
Definition at line 203 of file X86AsmPrinter.cpp.
References llvm::MachineOperand::getImm(), llvm::MachineInstr::getOperand(), llvm::MachineOperand::getReg(), llvm::MachineOperand::getType(), llvm::getX86SubSuperRegister(), llvm::MVT::i16, llvm::MVT::i32, llvm::MVT::i64, llvm::MVT::i8, llvm_unreachable, llvm::MachineOperand::MO_GlobalAddress, llvm::MachineOperand::MO_Immediate, llvm::MachineOperand::MO_Register, printSymbolOperand(), llvm::LibFunc::strcmp, llvm::LibFunc::strlen, and llvm::LibFunc::strncmp.
Referenced by llvm::SystemZAsmPrinter::PrintAsmOperand(), llvm::X86AsmPrinter::PrintAsmOperand(), printIntelMemReference(), printLeaMemReference(), llvm::SparcInstPrinter::printMemOperand(), printMemReference(), printPCRelImm(), and llvm::SparcInstPrinter::printSparcAliasInstr().
static void printPCRelImm | ( | X86AsmPrinter & | P, |
const MachineInstr * | MI, | ||
unsigned | OpNo, | ||
raw_ostream & | O | ||
) | [static] |
printPCRelImm - This is used to print an immediate value that ends up being encoded as a pc-relative value. These print slightly differently, for example, a $ is not emitted.
Definition at line 185 of file X86AsmPrinter.cpp.
References llvm::MachineOperand::getImm(), llvm::MachineInstr::getOperand(), llvm::MachineOperand::getType(), llvm_unreachable, llvm::MachineOperand::MO_GlobalAddress, llvm::MachineOperand::MO_Immediate, llvm::MachineOperand::MO_Register, printOperand(), and printSymbolOperand().
Referenced by llvm::X86AsmPrinter::PrintAsmOperand().
static void printSymbolOperand | ( | X86AsmPrinter & | P, |
const MachineOperand & | MO, | ||
raw_ostream & | O | ||
) | [static] |
printSymbolOperand - Print a raw symbol reference operand. This handles jump tables, constant pools, global address and external symbols, all of which print to a label with various suffixes for relocation types etc.
Definition at line 77 of file X86AsmPrinter.cpp.
References llvm::X86AsmPrinter::GetCPISymbol(), llvm::MachineOperand::getGlobal(), llvm::MachineOperand::getIndex(), llvm::MCSymbol::getName(), llvm::MachineModuleInfo::getObjFileInfo(), llvm::MachineOperand::getOffset(), llvm::MCContext::GetOrCreateSymbol(), llvm::MachineFunction::getPICBaseSymbol(), llvm::PointerIntPair< PointerTy, IntBits, IntType, PtrTraits >::getPointer(), llvm::AsmPrinter::getSymbol(), llvm::AsmPrinter::getSymbolWithGlobalValueBase(), llvm::MachineOperand::getTargetFlags(), llvm::MachineOperand::getType(), llvm::GlobalValue::hasInternalLinkage(), llvm_unreachable, llvm::AsmPrinter::MF, llvm::AsmPrinter::MMI, llvm::MachineOperand::MO_ConstantPoolIndex, llvm::X86II::MO_DARWIN_HIDDEN_NONLAZY_PIC_BASE, llvm::X86II::MO_DARWIN_NONLAZY, llvm::X86II::MO_DARWIN_NONLAZY_PIC_BASE, llvm::X86II::MO_DARWIN_STUB, llvm::X86II::MO_DLLIMPORT, llvm::X86II::MO_DTPOFF, llvm::MachineOperand::MO_GlobalAddress, llvm::X86II::MO_GOT, llvm::X86II::MO_GOT_ABSOLUTE_ADDRESS, llvm::X86II::MO_GOTNTPOFF, llvm::X86II::MO_GOTOFF, llvm::X86II::MO_GOTPCREL, llvm::X86II::MO_GOTTPOFF, llvm::X86II::MO_INDNTPOFF, llvm::X86II::MO_NO_FLAG, llvm::X86II::MO_NTPOFF, llvm::X86II::MO_PIC_BASE_OFFSET, llvm::X86II::MO_PLT, llvm::X86II::MO_SECREL, llvm::X86II::MO_TLSGD, llvm::X86II::MO_TLSLD, llvm::X86II::MO_TLSLDM, llvm::X86II::MO_TLVP, llvm::X86II::MO_TLVP_PIC_BASE, llvm::X86II::MO_TPOFF, llvm::AsmPrinter::OutContext, and llvm::AsmPrinter::printOffset().
Referenced by llvm::X86AsmPrinter::PrintAsmOperand(), printLeaMemReference(), printOperand(), and printPCRelImm().