|
LLVM 22.0.0git
|
#include "HexagonAsmPrinter.h"#include "HexagonInstrInfo.h"#include "HexagonRegisterInfo.h"#include "HexagonSubtarget.h"#include "MCTargetDesc/HexagonInstPrinter.h"#include "MCTargetDesc/HexagonMCExpr.h"#include "MCTargetDesc/HexagonMCInstrInfo.h"#include "MCTargetDesc/HexagonMCTargetDesc.h"#include "MCTargetDesc/HexagonTargetStreamer.h"#include "TargetInfo/HexagonTargetInfo.h"#include "llvm/ADT/StringExtras.h"#include "llvm/ADT/StringRef.h"#include "llvm/ADT/Twine.h"#include "llvm/BinaryFormat/ELF.h"#include "llvm/CodeGen/AsmPrinter.h"#include "llvm/CodeGen/MachineBasicBlock.h"#include "llvm/CodeGen/MachineFunction.h"#include "llvm/CodeGen/MachineInstr.h"#include "llvm/CodeGen/MachineOperand.h"#include "llvm/CodeGen/TargetRegisterInfo.h"#include "llvm/CodeGen/TargetSubtargetInfo.h"#include "llvm/MC/MCContext.h"#include "llvm/MC/MCDirectives.h"#include "llvm/MC/MCExpr.h"#include "llvm/MC/MCInst.h"#include "llvm/MC/MCRegisterInfo.h"#include "llvm/MC/MCSectionELF.h"#include "llvm/MC/MCStreamer.h"#include "llvm/MC/MCSymbol.h"#include "llvm/MC/TargetRegistry.h"#include "llvm/Support/Casting.h"#include "llvm/Support/Compiler.h"#include "llvm/Support/ErrorHandling.h"#include "llvm/Support/raw_ostream.h"#include "llvm/Target/TargetMachine.h"#include <cassert>#include <cstdint>#include <string>Go to the source code of this file.
Namespaces | |
| namespace | llvm |
| This is an optimization pass for GlobalISel generic memory operations. | |
Macros | |
| #define | DEBUG_TYPE "asm-printer" |
Functions | |
| void | llvm::HexagonLowerToMC (const MCInstrInfo &MCII, const MachineInstr *MI, MCInst &MCB, HexagonAsmPrinter &AP) |
| static unsigned | getHexagonRegisterPair (unsigned Reg, const MCRegisterInfo *RI) |
| static MCSymbol * | smallData (AsmPrinter &AP, const MachineInstr &MI, MCStreamer &OutStreamer, const MCOperand &Imm, int AlignSize, const MCSubtargetInfo &STI) |
| static MCInst | ScaleVectorOffset (MCInst &Inst, unsigned OpNo, unsigned VectorSize, MCContext &Ctx) |
| INITIALIZE_PASS (HexagonAsmPrinter, "hexagon-asm-printer", "Hexagon Assembly Printer", false, false) extern "C" LLVM_ABI LLVM_EXTERNAL_VISIBILITY void LLVMInitializeHexagonAsmPrinter() | |
| #define DEBUG_TYPE "asm-printer" |
Definition at line 63 of file HexagonAsmPrinter.cpp.
|
inlinestatic |
Definition at line 66 of file HexagonAsmPrinter.cpp.
References assert(), contains(), Reg, and llvm::MCRegisterInfo::superregs().
Referenced by llvm::HexagonAsmPrinter::HexagonProcessInstruction().
| INITIALIZE_PASS | ( | HexagonAsmPrinter | , |
| "hexagon-asm-printer" | , | ||
| "Hexagon Assembly Printer" | , | ||
| false | , | ||
| false | ) |
Definition at line 859 of file HexagonAsmPrinter.cpp.
References llvm::getTheHexagonTarget(), LLVM_ABI, LLVM_EXTERNAL_VISIBILITY, and X.
|
static |
Definition at line 245 of file HexagonAsmPrinter.cpp.
References llvm::cast(), llvm::HexagonMCExpr::create(), llvm::MCConstantExpr::create(), llvm::MCOperand::createExpr(), llvm::MCOperand::getExpr(), llvm::MCInst::getNumOperands(), llvm::MCInst::getOpcode(), llvm::MCInst::getOperand(), and T.
Referenced by llvm::HexagonAsmPrinter::HexagonProcessInstruction().
|
static |
Definition at line 179 of file HexagonAsmPrinter.cpp.
References assert(), llvm::MCStreamer::emitCodeAlignment(), llvm::MCStreamer::emitIntValue(), llvm::MCStreamer::emitLabel(), llvm::MCStreamer::emitSymbolAttribute(), llvm::MCStreamer::emitValue(), llvm::MCStreamer::getContext(), llvm::AsmPrinter::GetCPISymbol(), llvm::MCContext::getELFSection(), llvm::MachineOperand::getGlobal(), llvm::MachineOperand::getIndex(), llvm::AsmPrinter::GetJTISymbol(), llvm::MCSymbol::getName(), llvm::MCContext::getOrCreateSymbol(), llvm::AsmPrinter::getSymbol(), llvm::MachineOperand::isCPI(), llvm::MachineOperand::isGlobal(), llvm::MachineOperand::isJTI(), llvm::MCSymbol::isUndefined(), llvm_unreachable, llvm::MCSA_Global, llvm::MCSA_Local, MI, llvm::AsmPrinter::OutContext, llvm::ELF::SHF_ALLOC, llvm::ELF::SHF_WRITE, llvm::ELF::SHT_PROGBITS, llvm::StringRef::str(), llvm::MCStreamer::switchSection(), and llvm::utohexstr().
Referenced by llvm::HexagonAsmPrinter::HexagonProcessInstruction().