76 assert(!MO.
getSubReg() &&
"Subregs should be eliminated!");
87 MCOp = GetSymbolRef(MO,
92 MCOp = GetSymbolRef(MO,
123 bool EncodeImms =
false;
155 if (MCOp.
isImm() && EncodeImms) {
const GlobalValue * getGlobal() const
bool lowerOperand(const MachineOperand &MO, MCOperand &MCOp)
static const MCSymbolRefExpr * create(const MCSymbol *Symbol, MCContext &Ctx)
static const fltSemantics IEEEdouble
const ConstantFP * getFPImm() const
MachineBasicBlock * getMBB() const
MCSymbol - Instances of this class represent a symbol name in the MC file, and MCSymbols are created ...
MCContext & OutContext
This is the context for the output file that we are streaming.
static MCOperand createExpr(const MCExpr *Val)
Address of indexed Jump Table for switch.
MachineBasicBlock reference.
const char * getSymbolName() const
MO_PLT - On a symbol operand, this represents an ELF PLT reference on a call operand.
Mask of preserved registers.
bool isJTI() const
isJTI - Tests if this is a MO_JumpTableIndex operand.
static MCOperand createReg(unsigned Reg)
#define llvm_unreachable(msg)
Marks that the current location is not supposed to be reachable.
Base class for the full range of assembler expressions which are needed for parsing.
Name of external global symbol.
MCSymbol * GetJTISymbol(unsigned JTID, bool isLinkerPrivate=false) const
Return the symbol for the specified jump table entry.
unsigned getNumOperands() const
Access to explicit operands of the instruction.
static const ARMMCExpr * createLower16(const MCExpr *Expr, MCContext &Ctx)
double convertToDouble() const
static const MCBinaryExpr * createAdd(const MCExpr *LHS, const MCExpr *RHS, MCContext &Ctx)
Instances of this class represent a single low-level machine instruction.
unsigned getOpcode() const
Returns the opcode of this MachineInstr.
A self-contained host- and target-independent arbitrary-precision floating-point software implementat...
Address of a global value.
unsigned getTargetFlags() const
This file contains the declarations for the subclasses of Constant, which represent the different fla...
const MachineOperand & getOperand(unsigned i) const
Address of a basic block.
opStatus convert(const fltSemantics &, roundingMode, bool *)
APFloat::convert - convert a value of one floating point type to another.
int64_t getOffset() const
Return the offset from the symbol in this operand.
unsigned getSubReg() const
MCSymbol * getSymbol() const
getSymbol - Return the MCSymbol for this basic block.
MO_LO16 - On a symbol operand, this represents a relocation containing lower 16 bit of the address...
void setOpcode(unsigned Op)
MachineOperand class - Representation of each machine instruction operand.
static MCOperand createFPImm(double Val)
void LowerARMMachineInstrToMCInst(const MachineInstr *MI, MCInst &OutMI, ARMAsmPrinter &AP)
static int getSOImmVal(unsigned Arg)
getSOImmVal - Given a 32-bit immediate, if it is something that can fit into an shifter_operand immed...
Representation of each machine instruction.
MachineOperandType getType() const
getType - Returns the MachineOperandType for this operand.
MCSymbol * GetBlockAddressSymbol(const BlockAddress *BA) const
Return the MCSymbol used to satisfy BlockAddress uses of the specified basic block.
static const ARMMCExpr * createUpper16(const MCExpr *Expr, MCContext &Ctx)
MO_OPTION_MASK - Most flags are mutually exclusive; this mask selects just that part of the flag set...
virtual MCSymbol * GetCPISymbol(unsigned CPID) const
Return the symbol for the specified constant pool entry.
const APFloat & getValueAPF() const
unsigned getReg() const
getReg - Returns the register number.
Floating-point immediate operand.
void addOperand(const MCOperand &Op)
const BlockAddress * getBlockAddress() const
Address of indexed Constant in Constant Pool.
Instances of this class represent operands of the MCInst class.
MCSymbol * GetExternalSymbolSymbol(StringRef Sym) const
Return the MCSymbol for the specified ExternalSymbol.
static MCOperand createImm(int64_t Val)
static const MCConstantExpr * create(int64_t Value, MCContext &Ctx)
MO_HI16 - On a symbol operand, this represents a relocation containing higher 16 bit of the address...