30#define DEBUG_TYPE "asm-printer"
39 std::unique_ptr<MCStreamer> Streamer)
41 MCInstLowering(&OutContext, *
this) {}
52 ARC_MC::verifyInstructionPredicates(
MI->getOpcode(),
53 getSubtargetInfo().getFeatureBits());
58 switch (
MI->getOpcode()) {
65 MCInstLowering.Lower(
MI, TmpInst);
66 EmitToStreamer(*OutStreamer, TmpInst);
LLVM_EXTERNAL_VISIBILITY void LLVMInitializeARCAsmPrinter()
This file contains the declaration of the ARCInstPrinter class, which is used to print ARC MCInst to ...
#define LLVM_EXTERNAL_VISIBILITY
static GCMetadataPrinterRegistry::Add< ErlangGCPrinter > X("erlang", "erlang-compatible garbage collector")
This class is used to lower an MachineInstr into an MCInst.
This class is intended to be used as a driving class for all asm writers.
virtual void emitInstruction(const MachineInstr *)
Targets should implement this to emit instructions.
bool runOnMachineFunction(MachineFunction &MF) override
Emit the specified function out to the OutStreamer.
Instances of this class represent a single low-level machine instruction.
void ensureAlignment(Align A)
ensureAlignment - Make sure the function is at least A bytes aligned.
Representation of each machine instruction.
virtual StringRef getPassName() const
getPassName - Return a nice clean name for a pass.
SmallString - A SmallString is just a SmallVector with methods and accessors that make it work better...
StringRef - Represent a constant reference to a string, i.e.
Primary interface to the complete machine description for the target machine.
A raw_ostream that writes to an SmallVector or SmallString.
#define llvm_unreachable(msg)
Marks that the current location is not supposed to be reachable.
This is an optimization pass for GlobalISel generic memory operations.
Target & getTheARCTarget()
This struct is a compact representation of a valid (non-zero power of two) alignment.
RegisterAsmPrinter - Helper template for registering a target specific assembly printer,...