LLVM 20.0.0git
|
#include "HexagonAsmPrinter.h"
#include "Hexagon.h"
#include "HexagonInstrInfo.h"
#include "HexagonRegisterInfo.h"
#include "HexagonSubtarget.h"
#include "HexagonTargetStreamer.h"
#include "MCTargetDesc/HexagonInstPrinter.h"
#include "MCTargetDesc/HexagonMCExpr.h"
#include "MCTargetDesc/HexagonMCInstrInfo.h"
#include "MCTargetDesc/HexagonMCTargetDesc.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/CommandLine.h"
#include "llvm/Support/ErrorHandling.h"
#include "llvm/Support/raw_ostream.h"
#include "llvm/Target/TargetMachine.h"
#include <algorithm>
#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) |
LLVM_EXTERNAL_VISIBILITY void | LLVMInitializeHexagonAsmPrinter () |
#define DEBUG_TYPE "asm-printer" |
Definition at line 65 of file HexagonAsmPrinter.cpp.
|
inlinestatic |
Definition at line 68 of file HexagonAsmPrinter.cpp.
References assert(), contains(), and llvm::MCRegisterInfo::superregs().
Referenced by llvm::HexagonAsmPrinter::HexagonProcessInstruction().
LLVM_EXTERNAL_VISIBILITY void LLVMInitializeHexagonAsmPrinter | ( | ) |
Definition at line 859 of file HexagonAsmPrinter.cpp.
References llvm::getTheHexagonTarget(), and X.
|
static |
Definition at line 247 of file HexagonAsmPrinter.cpp.
References llvm::MCConstantExpr::create(), llvm::HexagonMCExpr::create(), llvm::MCOperand::createExpr(), llvm::MCOperand::getExpr(), llvm::MCInst::getNumOperands(), llvm::MCInst::getOpcode(), and llvm::MCInst::getOperand().
Referenced by llvm::HexagonAsmPrinter::HexagonProcessInstruction().
|
static |
Definition at line 181 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_unreachable, llvm::MCSA_Global, llvm::MCSA_Local, MI, Name, llvm::AsmPrinter::OutContext, llvm::ELF::SHF_ALLOC, llvm::ELF::SHF_WRITE, llvm::ELF::SHT_PROGBITS, llvm::StringRef::str(), llvm::MCStreamer::switchSection(), and Sym.
Referenced by llvm::HexagonAsmPrinter::HexagonProcessInstruction().