LLVM API Documentation
#include <X86IntelAsmPrinter.h>
Definition at line 27 of file X86IntelAsmPrinter.h.
| typedef std::map<const Function*, X86MachineFunctionInfo> llvm::X86IntelAsmPrinter::FMFInfoMap |
Definition at line 129 of file X86IntelAsmPrinter.h.
| llvm::X86IntelAsmPrinter::X86IntelAsmPrinter | ( | raw_ostream & | O, | |
| X86TargetMachine & | TM, | |||
| const TargetAsmInfo * | T | |||
| ) | [inline] |
Definition at line 28 of file X86IntelAsmPrinter.h.
| virtual const char* llvm::X86IntelAsmPrinter::getPassName | ( | ) | const [inline, virtual] |
getPassName - Return a nice clean name for a pass. This usually implemented in terms of the name that is registered by one of the Registration templates, but can be overloaded directly.
getPassName - Return a nice clean name for a pass. This usually implemented in terms of the name that is registered by one of the Registration templates, but can be overloaded directly.
Reimplemented from llvm::Pass.
Definition at line 33 of file X86IntelAsmPrinter.h.
| bool llvm::X86IntelAsmPrinter::printInstruction | ( | const MachineInstr * | MI | ) |
printInstruction - This method is automatically generated by tablegen from the instruction set description. This method returns true if the machine instruction was sufficiently described to print it, otherwise it returns false.
Referenced by printMachineInstruction().
| void llvm::X86IntelAsmPrinter::printOperand | ( | const MachineInstr * | MI, | |
| unsigned | OpNo, | |||
| const char * | Modifier = 0 | |||
| ) | [inline] |
Definition at line 44 of file X86IntelAsmPrinter.h.
References llvm::TargetRegisterInfo::get(), llvm::MachineInstr::getOperand(), llvm::MachineOperand::getReg(), llvm::TargetMachine::getRegisterInfo(), llvm::TargetRegisterInfo::isPhysicalRegister(), llvm::MachineOperand::isReg(), Name, and TM.
Referenced by PrintAsmOperand().
| void llvm::X86IntelAsmPrinter::printi8mem | ( | const MachineInstr * | MI, | |
| unsigned | OpNo | |||
| ) | [inline] |
Definition at line 56 of file X86IntelAsmPrinter.h.
| void llvm::X86IntelAsmPrinter::printi16mem | ( | const MachineInstr * | MI, | |
| unsigned | OpNo | |||
| ) | [inline] |
Definition at line 60 of file X86IntelAsmPrinter.h.
| void llvm::X86IntelAsmPrinter::printi32mem | ( | const MachineInstr * | MI, | |
| unsigned | OpNo | |||
| ) | [inline] |
Definition at line 64 of file X86IntelAsmPrinter.h.
| void llvm::X86IntelAsmPrinter::printi64mem | ( | const MachineInstr * | MI, | |
| unsigned | OpNo | |||
| ) | [inline] |
Definition at line 68 of file X86IntelAsmPrinter.h.
| void llvm::X86IntelAsmPrinter::printi128mem | ( | const MachineInstr * | MI, | |
| unsigned | OpNo | |||
| ) | [inline] |
Definition at line 72 of file X86IntelAsmPrinter.h.
| void llvm::X86IntelAsmPrinter::printf32mem | ( | const MachineInstr * | MI, | |
| unsigned | OpNo | |||
| ) | [inline] |
Definition at line 76 of file X86IntelAsmPrinter.h.
| void llvm::X86IntelAsmPrinter::printf64mem | ( | const MachineInstr * | MI, | |
| unsigned | OpNo | |||
| ) | [inline] |
Definition at line 80 of file X86IntelAsmPrinter.h.
| void llvm::X86IntelAsmPrinter::printf80mem | ( | const MachineInstr * | MI, | |
| unsigned | OpNo | |||
| ) | [inline] |
Definition at line 84 of file X86IntelAsmPrinter.h.
| void llvm::X86IntelAsmPrinter::printf128mem | ( | const MachineInstr * | MI, | |
| unsigned | OpNo | |||
| ) | [inline] |
Definition at line 88 of file X86IntelAsmPrinter.h.
| void llvm::X86IntelAsmPrinter::printlea64_32mem | ( | const MachineInstr * | MI, | |
| unsigned | OpNo | |||
| ) | [inline] |
Definition at line 92 of file X86IntelAsmPrinter.h.
| bool X86IntelAsmPrinter::printAsmMRegister | ( | const MachineOperand & | MO, | |
| const char | Mode | |||
| ) |
Definition at line 334 of file X86IntelAsmPrinter.cpp.
References llvm::TargetRegisterInfo::getName(), llvm::MachineOperand::getReg(), llvm::getX86SubSuperRegister(), llvm::MVT::i16, llvm::MVT::i32, llvm::MVT::i8, llvm::AsmPrinter::O, Reg, and llvm::AsmPrinter::TRI.
Referenced by PrintAsmOperand().
| bool X86IntelAsmPrinter::PrintAsmOperand | ( | const MachineInstr * | MI, | |
| unsigned | OpNo, | |||
| unsigned | AsmVariant, | |||
| const char * | ExtraCode | |||
| ) | [virtual] |
PrintAsmOperand - Print out an operand for an inline asm expression.
Reimplemented from llvm::AsmPrinter.
Definition at line 359 of file X86IntelAsmPrinter.cpp.
References llvm::MachineInstr::getOperand(), printAsmMRegister(), and printOperand().
| bool X86IntelAsmPrinter::PrintAsmMemoryOperand | ( | const MachineInstr * | MI, | |
| unsigned | OpNo, | |||
| unsigned | AsmVariant, | |||
| const char * | ExtraCode | |||
| ) | [virtual] |
PrintAsmMemoryOperand - Print the specified operand of MI, an INLINEASM instruction, using the specified assembler variant as an address. Targets should override this to format as appropriate. This method can return true if the operand is erroneous.
Reimplemented from llvm::AsmPrinter.
Definition at line 380 of file X86IntelAsmPrinter.cpp.
References printMemReference().
| void X86IntelAsmPrinter::printMachineInstruction | ( | const MachineInstr * | MI | ) |
printMachineInstruction -- Print out a single X86 LLVM instruction MI in Intel syntax to the current output stream.
Definition at line 393 of file X86IntelAsmPrinter.cpp.
References printInstruction().
Referenced by runOnMachineFunction().
| void X86IntelAsmPrinter::printOp | ( | const MachineOperand & | MO, | |
| const char * | Modifier = 0 | |||
| ) |
Definition at line 204 of file X86IntelAsmPrinter.cpp.
References decorateName(), llvm::AsmPrinter::getFunctionNumber(), llvm::MachineOperand::getGlobal(), llvm::TargetAsmInfo::getGlobalPrefix(), llvm::MachineOperand::getImm(), llvm::MachineOperand::getIndex(), llvm::MachineOperand::getMBB(), llvm::TargetRegisterInfo::getName(), llvm::MachineOperand::getOffset(), llvm::TargetAsmInfo::getPrivateGlobalPrefix(), llvm::MachineOperand::getReg(), llvm::MachineOperand::getSymbolName(), llvm::MachineOperand::getType(), llvm::Mangler::getValueName(), llvm::getX86SubSuperRegister(), GV, llvm::GlobalValue::hasDLLImportLinkage(), llvm::MVT::i16, llvm::MVT::i32, llvm::MVT::i64, llvm::MVT::i8, llvm::TargetRegisterInfo::isPhysicalRegister(), llvm::AsmPrinter::Mang, llvm::MachineOperand::MO_ConstantPoolIndex, llvm::MachineOperand::MO_ExternalSymbol, llvm::MachineOperand::MO_GlobalAddress, llvm::MachineOperand::MO_Immediate, llvm::MachineOperand::MO_JumpTableIndex, llvm::MachineOperand::MO_MachineBasicBlock, llvm::MachineOperand::MO_Register, Name, llvm::AsmPrinter::O, llvm::AsmPrinter::printBasicBlockLabel(), llvm::AsmPrinter::printOffset(), Reg, llvm::AsmPrinter::TAI, llvm::AsmPrinter::TRI, and VT.
Referenced by printMemReference().
| void X86IntelAsmPrinter::printSSECC | ( | const MachineInstr * | MI, | |
| unsigned | Op | |||
| ) |
Definition at line 189 of file X86IntelAsmPrinter.cpp.
References llvm::MachineOperand::getImm(), llvm::MachineInstr::getOperand(), and llvm::AsmPrinter::O.
| void X86IntelAsmPrinter::printMemReference | ( | const MachineInstr * | MI, | |
| unsigned | Op, | |||
| const char * | Modifier = NULL | |||
| ) |
Definition at line 272 of file X86IntelAsmPrinter.cpp.
References BaseReg, llvm::MachineOperand::getImm(), llvm::MachineInstr::getOperand(), llvm::MachineOperand::getReg(), IndexReg, llvm::MachineOperand::isCPI(), llvm::MachineOperand::isGlobal(), llvm::MachineOperand::isJTI(), llvm::isMem(), llvm::AsmPrinter::O, and printOp().
Referenced by PrintAsmMemoryOperand().
| void X86IntelAsmPrinter::printPICJumpTableSetLabel | ( | unsigned | uid, | |
| const MachineBasicBlock * | MBB | |||
| ) | const [virtual] |
printPICJumpTableSetLabel - This method prints a set label for the specified MachineBasicBlock for a jumptable entry.
printPICJumpTableSetLabel - This method prints a set label for the specified MachineBasicBlock for a jumptable entry.
Reimplemented from llvm::AsmPrinter.
Definition at line 318 of file X86IntelAsmPrinter.cpp.
References llvm::AsmPrinter::getFunctionNumber(), llvm::MachineBasicBlock::getNumber(), llvm::TargetAsmInfo::getPrivateGlobalPrefix(), llvm::TargetAsmInfo::getSetDirective(), llvm::AsmPrinter::O, llvm::AsmPrinter::printBasicBlockLabel(), and llvm::AsmPrinter::TAI.
| void llvm::X86IntelAsmPrinter::printPICJumpTableSetLabel | ( | unsigned | uid, | |
| unsigned | uid2, | |||
| const MachineBasicBlock * | MBB | |||
| ) | const [inline, virtual] |
Reimplemented from llvm::AsmPrinter.
Definition at line 109 of file X86IntelAsmPrinter.h.
References llvm::AsmPrinter::printPICJumpTableSetLabel().
| void X86IntelAsmPrinter::printPICLabel | ( | const MachineInstr * | MI, | |
| unsigned | Op | |||
| ) |
Definition at line 329 of file X86IntelAsmPrinter.cpp.
References llvm::AsmPrinter::getFunctionNumber(), and llvm::AsmPrinter::O.
| bool X86IntelAsmPrinter::runOnMachineFunction | ( | MachineFunction & | MF | ) | [virtual] |
runOnMachineFunction - This uses the printMachineInstruction() method to print assembly for each instruction.
Implements llvm::MachineFunctionPass.
Definition at line 123 of file X86IntelAsmPrinter.cpp.
References llvm::MachineFunction::begin(), llvm::AsmPrinter::CurrentFnName, decorateName(), DLLExportedFns, llvm::GlobalValue::DLLExportLinkage, E, llvm::AsmPrinter::EmitAlignment(), llvm::AsmPrinter::EmitConstantPool(), llvm::AsmPrinter::EmitJumpTableInfo(), llvm::MachineFunction::end(), llvm::GlobalValue::ExternalLinkage, F, llvm::raw_ostream::flush(), FunctionInfoMap, llvm::Function::getCallingConv(), llvm::MachineFunction::getConstantPool(), llvm::MachineFunction::getFunction(), llvm::MachineFunction::getInfo(), llvm::MachineFunction::getJumpTableInfo(), II, llvm::StringSet< AllocatorTy >::insert(), llvm::GlobalValue::InternalLinkage, llvm::AsmPrinter::O, llvm::Attribute::OptimizeForSize, llvm::AsmPrinter::printBasicBlockLabel(), printMachineInstruction(), llvm::GlobalValue::PrivateLinkage, llvm::AsmPrinter::SetupMachineFunction(), llvm::AsmPrinter::SwitchToTextSection(), llvm::CallingConv::X86_FastCall, and llvm::CallingConv::X86_StdCall.
| bool X86IntelAsmPrinter::doInitialization | ( | Module & | M | ) | [virtual] |
doInitialization - Set up the AsmPrinter when we are working on a new module. If your pass overrides this, it must make sure to explicitly call this implementation.
Reimplemented from llvm::AsmPrinter.
Definition at line 400 of file X86IntelAsmPrinter.cpp.
References llvm::Module::begin(), decorateName(), llvm::AsmPrinter::doInitialization(), E, llvm::Module::end(), llvm::Mangler::getValueName(), llvm::Module::global_begin(), llvm::Module::global_end(), llvm::AsmPrinter::Mang, llvm::Mangler::markCharUnacceptable(), Name, and llvm::AsmPrinter::O.
| bool X86IntelAsmPrinter::doFinalization | ( | Module & | M | ) | [virtual] |
doFinalization - Shut down the asmprinter. If you override this in your pass, you must make sure to call it explicitly.
Reimplemented from llvm::AsmPrinter.
Definition at line 438 of file X86IntelAsmPrinter.cpp.
References Align, llvm::GlobalValue::AppendingLinkage, llvm::StringMap< ValueTy, AllocatorTy >::begin(), llvm::CallingConv::C, llvm::GlobalValue::CommonLinkage, DLLExportedFns, DLLExportedGVs, llvm::GlobalValue::DLLExportLinkage, llvm::AsmPrinter::doFinalization(), E, llvm::AsmPrinter::EmitAlignment(), llvm::AsmPrinter::EmitGlobalConstant(), llvm::AsmPrinter::EmitSpecialLLVMGlobal(), llvm::StringMapImpl::empty(), llvm::StringMap< ValueTy, AllocatorTy >::end(), llvm::GlobalValue::ExternalLinkage, llvm::TargetAsmInfo::getCommentString(), llvm::TargetAsmInfo::getDataSection(), llvm::TargetData::getPreferredAlignmentLog(), llvm::TargetMachine::getTargetData(), llvm::Mangler::getValueName(), llvm::Module::global_begin(), llvm::Module::global_end(), llvm::StringSet< AllocatorTy >::insert(), llvm::GlobalValue::InternalLinkage, llvm::GlobalValue::LinkOnceLinkage, llvm::AsmPrinter::Mang, llvm::AsmPrinter::O, llvm::AsmPrinter::SwitchToDataSection(), llvm::AsmPrinter::SwitchToSection(), llvm::AsmPrinter::TAI, TD, llvm::AsmPrinter::TM, and llvm::GlobalValue::WeakLinkage.
| void X86IntelAsmPrinter::decorateName | ( | std::string & | Name, | |
| const GlobalValue * | GV | |||
| ) |
decorateName - Query FunctionInfoMap and use this information for various name decoration.
Definition at line 72 of file X86IntelAsmPrinter.cpp.
References calculateFunctionInfo(), llvm::dyn_cast(), F, llvm::FastCall, FunctionInfoMap, llvm::X86MachineFunctionInfo::getBytesToPopOnReturn(), llvm::Function::getCallingConv(), llvm::X86MachineFunctionInfo::getDecorationStyle(), llvm::Function::getFunctionType(), llvm::FunctionType::getNumParams(), llvm::TargetMachine::getTargetData(), llvm::Function::hasStructRetAttr(), llvm::FunctionType::isVarArg(), llvm::None, llvm::StdCall, llvm::AsmPrinter::TM, llvm::utostr_32(), llvm::CallingConv::X86_FastCall, and llvm::CallingConv::X86_StdCall.
Referenced by doInitialization(), printOp(), and runOnMachineFunction().
| void X86IntelAsmPrinter::EmitString | ( | const ConstantArray * | CVA | ) | const [virtual] |
EmitString - Emit a zero-byte-terminated string constant.
Reimplemented from llvm::AsmPrinter.
Definition at line 531 of file X86IntelAsmPrinter.cpp.
References llvm::User::getNumOperands(), llvm::Constant::getOperand(), and llvm::AsmPrinter::O.
Definition at line 130 of file X86IntelAsmPrinter.h.
Referenced by decorateName(), and runOnMachineFunction().
Definition at line 137 of file X86IntelAsmPrinter.h.
Referenced by doFinalization(), and runOnMachineFunction().