Thanks to visit codestin.com
Credit goes to llvm.org

LLVM 22.0.0git
X86AsmPrinter.cpp File Reference

Go to the source code of this file.

Functions

static bool isSimpleReturn (const MachineInstr &MI)
static bool isIndirectBranchOrTailCall (const MachineInstr &MI)
static bool printAsmMRegister (const X86AsmPrinter &P, const MachineOperand &MO, char Mode, raw_ostream &O)
static bool printAsmVRegister (const MachineOperand &MO, char Mode, raw_ostream &O)
static void emitNonLazySymbolPointer (MCStreamer &OutStreamer, MCSymbol *StubLabel, MachineModuleInfoImpl::StubValueTy &MCSym)
static void emitNonLazyStubs (MachineModuleInfo *MMI, MCStreamer &OutStreamer)
static bool usesMSVCFloatingPoint (const Triple &TT, const Module &M)
 True if this module is being built for windows/msvc, and uses floating point.
 INITIALIZE_PASS (X86AsmPrinter, "x86-asm-printer", "X86 Assembly Printer", false, false) extern "C" LLVM_C_ABI void LLVMInitializeX86AsmPrinter()

Function Documentation

◆ emitNonLazyStubs()

◆ emitNonLazySymbolPointer()

◆ INITIALIZE_PASS()

INITIALIZE_PASS ( X86AsmPrinter ,
"x86-asm-printer" ,
"X86 Assembly Printer" ,
false ,
false  )

◆ isIndirectBranchOrTailCall()

bool isIndirectBranchOrTailCall ( const MachineInstr & MI)
static

Definition at line 474 of file X86AsmPrinter.cpp.

References MI, and Opc.

Referenced by llvm::X86AsmPrinter::emitBasicBlockEnd().

◆ isSimpleReturn()

bool isSimpleReturn ( const MachineInstr & MI)
static

Definition at line 469 of file X86AsmPrinter.cpp.

References MI.

Referenced by llvm::X86AsmPrinter::emitBasicBlockEnd().

◆ printAsmMRegister()

◆ printAsmVRegister()

◆ usesMSVCFloatingPoint()

bool usesMSVCFloatingPoint ( const Triple & TT,
const Module & M )
static

True if this module is being built for windows/msvc, and uses floating point.

This is used to emit an undefined reference to _fltused. This is needed in Windows kernel or driver contexts to find and prevent code from modifying non-GPR registers.

TODO: It would be better if this was computed from MIR by looking for selected floating-point instructions.

Definition at line 1000 of file X86AsmPrinter.cpp.

References F, I, and instructions.

Referenced by llvm::X86AsmPrinter::emitEndOfAsmFile().