LLVM 19.0.0git
Public Member Functions | Protected Member Functions | List of all members
llvm::MCParsedAsmOperand Class Referenceabstract

MCParsedAsmOperand - This abstract class represents a source-level assembly instruction operand. More...

#include "llvm/MC/MCParser/MCParsedAsmOperand.h"

Inheritance diagram for llvm::MCParsedAsmOperand:
Inheritance graph
[legend]

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
 
MCParsedAsmOperandoperator= (const MCParsedAsmOperand &)=default
 

Detailed Description

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.

Constructor & Destructor Documentation

◆ MCParsedAsmOperand() [1/2]

llvm::MCParsedAsmOperand::MCParsedAsmOperand ( )
protecteddefault

◆ MCParsedAsmOperand() [2/2]

llvm::MCParsedAsmOperand::MCParsedAsmOperand ( const MCParsedAsmOperand RHS)
protecteddefault

◆ ~MCParsedAsmOperand()

virtual llvm::MCParsedAsmOperand::~MCParsedAsmOperand ( )
virtualdefault

Member Function Documentation

◆ dump()

void MCParsedAsmOperand::dump ( ) const
virtual

dump - Print to the debug stream.

Definition at line 164 of file MCAsmParser.cpp.

References llvm::dbgs().

◆ getConstraint()

StringRef llvm::MCParsedAsmOperand::getConstraint ( )
inline

Definition at line 47 of file MCParsedAsmOperand.h.

◆ getEndLoc()

virtual SMLoc llvm::MCParsedAsmOperand::getEndLoc ( ) const
pure virtual

getEndLoc - Get the location of the last token of this operand.

Implemented in llvm::X86Operand, and XtensaOperand.

◆ getMCOperandNum()

unsigned llvm::MCParsedAsmOperand::getMCOperandNum ( )
inline

Definition at line 50 of file MCParsedAsmOperand.h.

◆ getOffsetOfLoc()

virtual SMLoc llvm::MCParsedAsmOperand::getOffsetOfLoc ( ) const
inlinevirtual

getOffsetOfLoc - Get the location of the offset operator.

Reimplemented in llvm::X86Operand.

Definition at line 88 of file MCParsedAsmOperand.h.

◆ getOpDecl()

virtual void * llvm::MCParsedAsmOperand::getOpDecl ( )
inlinevirtual

Reimplemented in llvm::X86Operand.

Definition at line 53 of file MCParsedAsmOperand.h.

◆ getReg()

virtual MCRegister llvm::MCParsedAsmOperand::getReg ( ) const
pure virtual

◆ getStartLoc()

virtual SMLoc llvm::MCParsedAsmOperand::getStartLoc ( ) const
pure virtual

getStartLoc - Get the location of the first token of this operand.

Implemented in llvm::X86Operand, and XtensaOperand.

◆ getSymName()

virtual StringRef llvm::MCParsedAsmOperand::getSymName ( )
inlinevirtual

Reimplemented in llvm::X86Operand.

Definition at line 52 of file MCParsedAsmOperand.h.

◆ isImm()

virtual bool llvm::MCParsedAsmOperand::isImm ( ) const
pure virtual

isImm - Is this an immediate operand?

Implemented in llvm::X86Operand, and XtensaOperand.

◆ isMem()

virtual bool llvm::MCParsedAsmOperand::isMem ( ) const
pure virtual

isMem - Is this a memory operand?

Implemented in llvm::X86Operand, and XtensaOperand.

◆ isMemUseUpRegs()

virtual bool llvm::MCParsedAsmOperand::isMemUseUpRegs ( ) const
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.

◆ isOffsetOfLocal()

virtual bool llvm::MCParsedAsmOperand::isOffsetOfLocal ( ) const
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.

◆ isReg()

virtual bool llvm::MCParsedAsmOperand::isReg ( ) const
pure virtual

isReg - Is this a register operand?

Implemented in llvm::X86Operand, and XtensaOperand.

Referenced by llvm::MCTargetAsmParser::areEqualRegs().

◆ isToken()

virtual bool llvm::MCParsedAsmOperand::isToken ( ) const
pure virtual

isToken - Is this a token operand?

Implemented in llvm::X86Operand, and XtensaOperand.

Referenced by previousEqual().

◆ needAddressOf()

virtual bool llvm::MCParsedAsmOperand::needAddressOf ( ) const
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.

◆ operator=()

MCParsedAsmOperand & llvm::MCParsedAsmOperand::operator= ( const MCParsedAsmOperand )
protecteddefault

◆ print()

virtual void llvm::MCParsedAsmOperand::print ( raw_ostream OS) const
pure virtual

print - Print a debug representation of the operand to the given stream.

Implemented in llvm::X86Operand, and XtensaOperand.

Referenced by llvm::operator<<().

◆ setConstraint()

void llvm::MCParsedAsmOperand::setConstraint ( StringRef  C)
inline

Definition at line 46 of file MCParsedAsmOperand.h.

References llvm::CallingConv::C.

◆ setMCOperandNum()

void llvm::MCParsedAsmOperand::setMCOperandNum ( unsigned  OpNum)
inline

Definition at line 49 of file MCParsedAsmOperand.h.


The documentation for this class was generated from the following files: