LLVM 20.0.0git
|
MCParsedAsmOperand - This abstract class represents a source-level assembly instruction operand. More...
#include "llvm/MC/MCParser/MCParsedAsmOperand.h"
Public Member Functions | |
virtual | ~MCParsedAsmOperand ()=default |
void | setConstraint (StringRef C) |
StringRef | getConstraint () |
void | setMCOperandNum (unsigned OpNum) |
unsigned | getMCOperandNum () |
virtual StringRef | getSymName () |
virtual void * | getOpDecl () |
virtual bool | isToken () const =0 |
isToken - Is this a token operand? | |
virtual bool | isImm () const =0 |
isImm - Is this an immediate operand? | |
virtual bool | isReg () const =0 |
isReg - Is this a register operand? | |
virtual MCRegister | getReg () const =0 |
virtual bool | isMem () const =0 |
isMem - Is this a memory operand? | |
virtual bool | isMemUseUpRegs () const |
isMemUseUpRegs - Is memory operand use up regs, for example, intel MS inline asm may use ARR[baseReg + IndexReg + ...] which may use up regs in [...] expr, so ARR[baseReg + IndexReg + ...] can not use extra reg for ARR. | |
virtual SMLoc | getStartLoc () const =0 |
getStartLoc - Get the location of the first token of this operand. | |
virtual SMLoc | getEndLoc () const =0 |
getEndLoc - Get the location of the last token of this operand. | |
virtual bool | needAddressOf () const |
needAddressOf - Do we need to emit code to get the address of the variable/label? Only valid when parsing MS-style inline assembly. | |
virtual bool | isOffsetOfLocal () const |
isOffsetOfLocal - Do we need to emit code to get the offset of the local variable, rather than its value? Only valid when parsing MS-style inline assembly. | |
virtual SMLoc | getOffsetOfLoc () const |
getOffsetOfLoc - Get the location of the offset operator. | |
virtual void | print (raw_ostream &OS) const =0 |
print - Print a debug representation of the operand to the given stream. | |
virtual void | dump () const |
dump - Print to the debug stream. | |
Protected Member Functions | |
MCParsedAsmOperand ()=default | |
MCParsedAsmOperand (const MCParsedAsmOperand &RHS)=default | |
MCParsedAsmOperand & | operator= (const MCParsedAsmOperand &)=default |
MCParsedAsmOperand - This abstract class represents a source-level assembly instruction operand.
It should be subclassed by target-specific code. This base class is used by target-independent clients and is the interface between parsing an asm instruction and recognizing it.
Definition at line 25 of file MCParsedAsmOperand.h.
|
protecteddefault |
|
protecteddefault |
|
virtualdefault |
|
virtual |
dump - Print to the debug stream.
Definition at line 163 of file MCAsmParser.cpp.
References llvm::dbgs().
|
inline |
Definition at line 47 of file MCParsedAsmOperand.h.
|
pure virtual |
getEndLoc - Get the location of the last token of this operand.
Implemented in llvm::X86Operand, and XtensaOperand.
|
inline |
Definition at line 50 of file MCParsedAsmOperand.h.
|
inlinevirtual |
getOffsetOfLoc - Get the location of the offset operator.
Reimplemented in llvm::X86Operand.
Definition at line 88 of file MCParsedAsmOperand.h.
|
inlinevirtual |
Reimplemented in llvm::X86Operand.
Definition at line 53 of file MCParsedAsmOperand.h.
|
pure virtual |
Implemented in llvm::X86Operand, and XtensaOperand.
Referenced by llvm::MCTargetAsmParser::areEqualRegs().
|
pure virtual |
getStartLoc - Get the location of the first token of this operand.
Implemented in llvm::X86Operand, and XtensaOperand.
|
inlinevirtual |
Reimplemented in llvm::X86Operand.
Definition at line 52 of file MCParsedAsmOperand.h.
|
pure virtual |
isImm - Is this an immediate operand?
Implemented in llvm::X86Operand, and XtensaOperand.
|
pure virtual |
isMem - Is this a memory operand?
Implemented in llvm::X86Operand, and XtensaOperand.
|
inlinevirtual |
isMemUseUpRegs - Is memory operand use up regs, for example, intel MS inline asm may use ARR[baseReg + IndexReg + ...] which may use up regs in [...] expr, so ARR[baseReg + IndexReg + ...] can not use extra reg for ARR.
For example, calculating ARR address to a reg or use another base reg in PIC model.
Reimplemented in llvm::X86Operand.
Definition at line 71 of file MCParsedAsmOperand.h.
|
inlinevirtual |
isOffsetOfLocal - Do we need to emit code to get the offset of the local variable, rather than its value? Only valid when parsing MS-style inline assembly.
Reimplemented in llvm::X86Operand.
Definition at line 85 of file MCParsedAsmOperand.h.
|
pure virtual |
isReg - Is this a register operand?
Implemented in llvm::X86Operand, and XtensaOperand.
Referenced by llvm::MCTargetAsmParser::areEqualRegs().
|
pure virtual |
isToken - Is this a token operand?
Implemented in llvm::X86Operand, and XtensaOperand.
Referenced by previousEqual().
|
inlinevirtual |
needAddressOf - Do we need to emit code to get the address of the variable/label? Only valid when parsing MS-style inline assembly.
Reimplemented in llvm::X86Operand.
Definition at line 80 of file MCParsedAsmOperand.h.
|
protecteddefault |
|
pure virtual |
print - Print a debug representation of the operand to the given stream.
Implemented in llvm::X86Operand, and XtensaOperand.
Referenced by llvm::operator<<().
|
inline |
Definition at line 46 of file MCParsedAsmOperand.h.
References llvm::CallingConv::C.
|
inline |
Definition at line 49 of file MCParsedAsmOperand.h.