9#ifndef LLVM_MC_MCINSTPRINTER_H
10#define LLVM_MC_MCINSTPRINTER_H
42struct AliasMatchingData;
58 bool UseMarkup =
false;
64 bool PrintAliases =
true;
67 bool PrintImmHex =
false;
75 bool PrintBranchImmAsAddress =
false;
78 bool SymbolizeOperands =
false;
105 Markup M,
bool EnableMarkup,
135 virtual std::pair<const char *, uint64_t>
169 PrintBranchImmAsAddress =
Value;
177 return PrintImmHex ? formatHex(
Value) : formatDec(
Value);
228 unsigned PredicateIndex);
unsigned const MachineRegisterInfo * MRI
#define LLVM_CTOR_NODISCARD
static StringRef getOpcodeName(uint8_t Opcode, uint8_t OpcodeBase)
Promote Memory to Register
This file defines the SmallVector class.
static ManagedStatic< cl::opt< cl::boolOrDefault >, CreateUseColor > UseColor
ArrayRef - Represent a constant reference to an array (0 or more elements consecutively in memory),...
This class is intended to be used as a base class for asm properties and features specific to the tar...
WithMarkup & operator<<(const T &O)
WithMarkup & operator<<(T &O)
This is an instance of a target assembly language printer that converts an MCInst to valid target ass...
void setPrintBranchImmAsAddress(bool Value)
void setMCInstrAnalysis(const MCInstrAnalysis *Value)
void setCommentStream(raw_ostream &OS)
Specify a stream to emit comments to.
virtual bool applyTargetSpecificCLOption(StringRef Opt)
Customize the printer according to a command line option.
void setUseColor(bool Value)
bool getPrintImmHex() const
void setSymbolizeOperands(bool Value)
void setPrintImmHex(bool Value)
void setUseMarkup(bool Value)
const MCRegisterInfo & MRI
format_object< int64_t > formatImm(int64_t Value) const
Utility function to print immediates in decimal or hex.
bool getUseMarkup() const
virtual void printInst(const MCInst *MI, uint64_t Address, StringRef Annot, const MCSubtargetInfo &STI, raw_ostream &OS)=0
Print the specified MCInst to the specified raw_ostream.
virtual std::pair< const char *, uint64_t > getMnemonic(const MCInst &MI) const =0
Returns a pair containing the mnemonic for MI and the number of bits left for further processing by p...
void setPrintHexStyle(HexStyle::Style Value)
MCInstPrinter(const MCAsmInfo &mai, const MCInstrInfo &mii, const MCRegisterInfo &mri)
Instances of this class represent a single low-level machine instruction.
Interface to description of machine instruction set.
Instances of this class represent operands of the MCInst class.
MCRegisterInfo base class - We assume that the target defines a static array of MCRegisterDesc object...
Wrapper class representing physical registers. Should be passed by value.
Generic base class for all target subtargets.
This is a 'vector' (really, a variable-sized array), optimized for the case when the array is small.
StringRef - Represent a constant reference to a string, i.e.
Target - Wrapper for Target specific information.
LLVM Value Representation.
This class implements an extremely fast bulk output stream that can only output to a stream.
This class provides various memory handling functions that manipulate MemoryBlock instances.
This is an optimization pass for GlobalISel generic memory operations.
LLVM_ABI void dumpBytes(ArrayRef< uint8_t > Bytes, raw_ostream &OS)
Convert ‘Bytes’ to a hex string and output to ‘OS’.
Tablegenerated data structures needed to match alias patterns.
ArrayRef< AliasPatternCond > PatternConds
bool(* ValidateMCOperand)(const MCOperand &MCOp, const MCSubtargetInfo &STI, unsigned PredicateIndex)
ArrayRef< PatternsForOpcode > OpToPatterns
ArrayRef< AliasPattern > Patterns
Data for each alias pattern.
Map from opcode to pattern list by binary search.