LLVM API Documentation
#include <HexagonAsmPrinter.h>


Definition at line 24 of file HexagonAsmPrinter.h.
| llvm::HexagonAsmPrinter::HexagonAsmPrinter | ( | TargetMachine & | TM, |
| MCStreamer & | Streamer | ||
| ) | [inline, explicit] |
Definition at line 28 of file HexagonAsmPrinter.h.
References llvm::TargetMachine::getSubtarget().
| void HexagonAsmPrinter::EmitAlignment | ( | unsigned | NumBits, |
| const GlobalValue * | GV = 0 |
||
| ) | const [virtual] |
EmitAlignment - Emit an alignment directive to the specified power of two boundary. For example, if you pass in 3 here, you will get an 8 byte alignment. If a global value is specified, and if that global has an explicit alignment requested, it will override the alignment request if required for correctness.
Reimplemented from llvm::AsmPrinter.
Definition at line 64 of file HexagonAsmPrinter.cpp.
References llvm::MCStreamer::EmitRawText(), and llvm::AsmPrinter::OutStreamer.
| void HexagonAsmPrinter::EmitInstruction | ( | const MachineInstr * | MI | ) | [virtual] |
printMachineInstruction -- Print out a single Hexagon MI in Darwin syntax to the current output stream.
Reimplemented from llvm::AsmPrinter.
Definition at line 199 of file HexagonAsmPrinter.cpp.
References llvm::TargetOpcode::DBG_VALUE, llvm::MCStreamer::EmitInstruction(), llvm::MachineBasicBlock::end(), llvm::MachineInstr::getBundleSize(), llvm::MachineInstr::getOpcode(), llvm::MachineInstr::getParent(), llvm::HexagonLowerToMC(), llvm::TargetOpcode::IMPLICIT_DEF, llvm::MachineInstr::isBundle(), llvm::A64CC::MI, llvm::AsmPrinter::OutStreamer, llvm::HexagonMCInst::setPacketEnd(), and llvm::HexagonMCInst::setPacketStart().
| virtual const char* llvm::HexagonAsmPrinter::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.
Reimplemented from llvm::Pass.
Definition at line 33 of file HexagonAsmPrinter.h.
| static const char* llvm::HexagonAsmPrinter::getRegisterName | ( | unsigned | RegNo | ) | [static] |
Referenced by printAddrModeBasePlusOffset(), printFrameIndexOperand(), printMEMriOperand(), printOperand(), and printRegister().
| bool HexagonAsmPrinter::isBlockOnlyReachableByFallthrough | ( | const MachineBasicBlock * | MBB | ) | const [virtual] |
isBlockOnlyReachableByFallthough - Return true if the basic block has exactly one predecessor and the control transfer mechanism between the predecessor and this block is a fall-through.
Reimplemented from llvm::AsmPrinter.
Definition at line 117 of file HexagonAsmPrinter.cpp.
References llvm::MachineBasicBlock::hasAddressTaken().
| void llvm::HexagonAsmPrinter::printAbsAddrOperand | ( | const MachineInstr * | MI, |
| unsigned | OpNo, | ||
| raw_ostream & | O | ||
| ) | [inline] |
Definition at line 116 of file HexagonAsmPrinter.h.
| void HexagonAsmPrinter::printAddrModeBasePlusOffset | ( | const MachineInstr * | MI, |
| int | OpNo, | ||
| raw_ostream & | O | ||
| ) |
PrintUnmangledNameSafely - Print out the printable characters in the name. Don't print things like
or \0.
Definition at line 253 of file HexagonAsmPrinter.cpp.
References llvm::MachineOperand::getImm(), llvm::MachineInstr::getOperand(), llvm::MachineOperand::getReg(), and getRegisterName().
| bool HexagonAsmPrinter::PrintAsmMemoryOperand | ( | const MachineInstr * | MI, |
| unsigned | OpNo, | ||
| unsigned | AsmVariant, | ||
| const char * | ExtraCode, | ||
| raw_ostream & | OS | ||
| ) | [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 164 of file HexagonAsmPrinter.cpp.
References llvm::MachineOperand::getImm(), llvm::MachineInstr::getOperand(), llvm::MachineOperand::isImm(), llvm::MachineOperand::isReg(), llvm_unreachable, and printOperand().
| bool HexagonAsmPrinter::PrintAsmOperand | ( | const MachineInstr * | MI, |
| unsigned | OpNo, | ||
| unsigned | AsmVariant, | ||
| const char * | ExtraCode, | ||
| raw_ostream & | OS | ||
| ) | [virtual] |
PrintAsmOperand - Print out an operand for an inline asm expression.
Reimplemented from llvm::AsmPrinter.
Definition at line 127 of file HexagonAsmPrinter.cpp.
References llvm::MachineInstr::getNumOperands(), llvm::MachineInstr::getOperand(), llvm::MachineOperand::isImm(), llvm::MachineOperand::isReg(), and printOperand().
| void llvm::HexagonAsmPrinter::printBranchOperand | ( | const MachineInstr * | MI, |
| unsigned | OpNo, | ||
| raw_ostream & | O | ||
| ) | [inline] |
Definition at line 101 of file HexagonAsmPrinter.h.
References llvm::MachineOperand::getImm(), llvm::MachineInstr::getOperand(), llvm::MachineOperand::isImm(), and printOp().
| void llvm::HexagonAsmPrinter::printCallOperand | ( | const MachineInstr * | MI, |
| unsigned | OpNo, | ||
| raw_ostream & | O | ||
| ) | [inline] |
Definition at line 112 of file HexagonAsmPrinter.h.
| void HexagonAsmPrinter::printConstantPool | ( | const MachineInstr * | MI, |
| int | OpNo, | ||
| raw_ostream & | O | ||
| ) |
Definition at line 287 of file HexagonAsmPrinter.cpp.
References llvm::AsmPrinter::GetCPISymbol(), llvm::MachineOperand::getIndex(), llvm::MachineInstr::getOperand(), llvm::MachineOperand::getType(), and llvm::MachineOperand::MO_ConstantPoolIndex.
| void llvm::HexagonAsmPrinter::printFrameIndexOperand | ( | const MachineInstr * | MI, |
| unsigned | OpNo, | ||
| raw_ostream & | O | ||
| ) | [inline] |
Definition at line 91 of file HexagonAsmPrinter.h.
References llvm::MachineOperand::getImm(), llvm::MachineInstr::getOperand(), llvm::MachineOperand::getReg(), and getRegisterName().
| void HexagonAsmPrinter::printGlobalOperand | ( | const MachineInstr * | MI, |
| int | OpNo, | ||
| raw_ostream & | O | ||
| ) |
| void llvm::HexagonAsmPrinter::printImmOperand | ( | const MachineInstr * | MI, |
| unsigned | OpNo, | ||
| raw_ostream & | O | ||
| ) | [inline] |
Definition at line 69 of file HexagonAsmPrinter.h.
References llvm::MachineOperand::getImm(), and llvm::MachineInstr::getOperand().
Referenced by printSymbolHi(), and printSymbolLo().
| void llvm::HexagonAsmPrinter::printInstruction | ( | const MachineInstr * | MI, |
| raw_ostream & | O | ||
| ) |
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.
| void HexagonAsmPrinter::printJumpTable | ( | const MachineInstr * | MI, |
| int | OpNo, | ||
| raw_ostream & | O | ||
| ) |
Definition at line 277 of file HexagonAsmPrinter.cpp.
References llvm::MachineOperand::getIndex(), llvm::AsmPrinter::GetJTISymbol(), llvm::MachineInstr::getOperand(), llvm::MachineOperand::getType(), and llvm::MachineOperand::MO_JumpTableIndex.
| void llvm::HexagonAsmPrinter::printMEMriOperand | ( | const MachineInstr * | MI, |
| unsigned | OpNo, | ||
| raw_ostream & | O | ||
| ) | [inline] |
Definition at line 81 of file HexagonAsmPrinter.h.
References llvm::MachineOperand::getImm(), llvm::MachineInstr::getOperand(), llvm::MachineOperand::getReg(), and getRegisterName().
| void llvm::HexagonAsmPrinter::printNegImmOperand | ( | const MachineInstr * | MI, |
| unsigned | OpNo, | ||
| raw_ostream & | O | ||
| ) | [inline] |
Definition at line 75 of file HexagonAsmPrinter.h.
References llvm::MachineOperand::getImm(), and llvm::MachineInstr::getOperand().
| void llvm::HexagonAsmPrinter::printOp | ( | const MachineOperand & | MO, |
| raw_ostream & | O | ||
| ) |
Referenced by printBranchOperand(), printSymbolHi(), and printSymbolLo().
| void HexagonAsmPrinter::printOperand | ( | const MachineInstr * | MI, |
| unsigned | OpNo, | ||
| raw_ostream & | O | ||
| ) |
Definition at line 75 of file HexagonAsmPrinter.cpp.
References llvm::AsmPrinter::GetCPISymbol(), llvm::AsmPrinter::GetExternalSymbolSymbol(), llvm::MachineOperand::getGlobal(), llvm::MachineOperand::getImm(), llvm::MachineOperand::getIndex(), llvm::AsmPrinter::GetJTISymbol(), llvm::MachineOperand::getMBB(), llvm::MachineOperand::getOffset(), llvm::MachineInstr::getOperand(), llvm::MachineOperand::getReg(), getRegisterName(), llvm::Mangler::getSymbol(), llvm::MachineBasicBlock::getSymbol(), llvm::MachineOperand::getSymbolName(), llvm::MachineOperand::getType(), llvm_unreachable, 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, and llvm::AsmPrinter::printOffset().
Referenced by PrintAsmMemoryOperand(), and PrintAsmOperand().
| void HexagonAsmPrinter::printPredicateOperand | ( | const MachineInstr * | MI, |
| unsigned | OpNo, | ||
| raw_ostream & | O | ||
| ) |
Definition at line 189 of file HexagonAsmPrinter.cpp.
References llvm_unreachable.
| void llvm::HexagonAsmPrinter::printRegister | ( | const MachineOperand & | MO, |
| bool | R0AsZero, | ||
| raw_ostream & | O | ||
| ) | [inline] |
printRegister - Print register according to target requirements.
Definition at line 62 of file HexagonAsmPrinter.h.
References llvm::MachineOperand::getReg(), getRegisterName(), and llvm::TargetRegisterInfo::isPhysicalRegister().
| void llvm::HexagonAsmPrinter::printSymbolHi | ( | const MachineInstr * | MI, |
| unsigned | OpNo, | ||
| raw_ostream & | O | ||
| ) | [inline] |
Definition at line 120 of file HexagonAsmPrinter.h.
References llvm::MachineInstr::getOperand(), llvm::MachineOperand::isImm(), printImmOperand(), and printOp().
| void llvm::HexagonAsmPrinter::printSymbolLo | ( | const MachineInstr * | MI, |
| unsigned | OpNo, | ||
| raw_ostream & | O | ||
| ) | [inline] |
Definition at line 131 of file HexagonAsmPrinter.h.
References llvm::MachineInstr::getOperand(), llvm::MachineOperand::isImm(), printImmOperand(), and printOp().