LLVM 19.0.0git
Enumerations | Functions
llvm::M68kII Namespace Reference

This namespace holds all of the target specific flags that instruction info tracks. More...

Enumerations

enum  TOF {
  MO_NO_FLAG , MO_ABSOLUTE_ADDRESS , MO_PC_RELATIVE_ADDRESS , MO_GOT ,
  MO_GOTOFF , MO_GOTPCREL , MO_PLT , MO_TLSGD ,
  MO_TLSLD , MO_TLSLDM , MO_TLSIE , MO_TLSLE
}
 Target Operand Flag enum. More...
 

Functions

static bool isGlobalStubReference (unsigned char TargetFlag)
 Return true if the specified TargetFlag operand is a reference to a stub for a global, not the global itself.
 
static bool isDirectGlobalReference (unsigned char Flag)
 Return True if the specified GlobalValue is a direct reference for a symbol.
 
static bool isGlobalRelativeToPICBase (unsigned char TargetFlag)
 Return true if the specified global value reference is relative to a 32-bit PIC base (M68kISD::GLOBAL_BASE_REG).
 
static bool isPCRelGlobalReference (unsigned char Flag)
 Return True if the specified GlobalValue requires PC addressing mode.
 
static bool isPCRelBlockReference (unsigned char Flag)
 Return True if the Block is referenced using PC.
 
static bool isAddressRegister (unsigned RegNo)
 
static bool hasMultiMIOperands (unsigned Op, unsigned LogicalOpIdx)
 
static unsigned getMaskedSpillRegister (unsigned order)
 

Detailed Description

This namespace holds all of the target specific flags that instruction info tracks.

Enumeration Type Documentation

◆ TOF

Target Operand Flag enum.

Enumerator
MO_NO_FLAG 
MO_ABSOLUTE_ADDRESS 

On a symbol operand this indicates that the immediate is the absolute address of the symbol.

MO_PC_RELATIVE_ADDRESS 

On a symbol operand this indicates that the immediate is the pc-relative address of the symbol.

MO_GOT 

On a symbol operand this indicates that the immediate is the offset to the GOT entry for the symbol name from the base of the GOT.

name@GOT

MO_GOTOFF 

On a symbol operand this indicates that the immediate is the offset to the location of the symbol name from the base of the GOT.

name@GOTOFF

MO_GOTPCREL 

On a symbol operand this indicates that the immediate is offset to the GOT entry for the symbol name from the current code location.

name@GOTPCREL

MO_PLT 

On a symbol operand this indicates that the immediate is offset to the PLT entry of symbol name from the current code location.

name@PLT

MO_TLSGD 

On a symbol operand, this indicates that the immediate is the offset to the slot in GOT which stores the information for accessing the TLS variable.

This is used when operating in Global Dynamic mode. name@TLSGD

MO_TLSLD 

On a symbol operand, this indicates that the immediate is the offset to variable within the thread local storage when operating in Local Dynamic mode.

name@TLSLD

MO_TLSLDM 

On a symbol operand, this indicates that the immediate is the offset to the slot in GOT which stores the information for accessing the TLS variable.

This is used when operating in Local Dynamic mode. name@TLSLDM

MO_TLSIE 

On a symbol operand, this indicates that the immediate is the offset to the variable within the thread local storage when operating in Initial Exec mode.

name@TLSIE

MO_TLSLE 

On a symbol operand, this indicates that the immediate is the offset to the variable within in the thread local storage when operating in Local Exec mode.

name@TLSLE

Definition at line 125 of file M68kBaseInfo.h.

Function Documentation

◆ getMaskedSpillRegister()

static unsigned llvm::M68kII::getMaskedSpillRegister ( unsigned  order)
inlinestatic

Definition at line 280 of file M68kBaseInfo.h.

◆ hasMultiMIOperands()

static bool llvm::M68kII::hasMultiMIOperands ( unsigned  Op,
unsigned  LogicalOpIdx 
)
inlinestatic

Definition at line 276 of file M68kBaseInfo.h.

◆ isAddressRegister()

static bool llvm::M68kII::isAddressRegister ( unsigned  RegNo)
inlinestatic

Definition at line 252 of file M68kBaseInfo.h.

Referenced by llvm::M68kAsmPrinter::PrintAsmMemoryOperand().

◆ isDirectGlobalReference()

static bool llvm::M68kII::isDirectGlobalReference ( unsigned char  Flag)
inlinestatic

Return True if the specified GlobalValue is a direct reference for a symbol.

Definition at line 207 of file M68kBaseInfo.h.

References MO_ABSOLUTE_ADDRESS, MO_NO_FLAG, and MO_PC_RELATIVE_ADDRESS.

◆ isGlobalRelativeToPICBase()

static bool llvm::M68kII::isGlobalRelativeToPICBase ( unsigned char  TargetFlag)
inlinestatic

Return true if the specified global value reference is relative to a 32-bit PIC base (M68kISD::GLOBAL_BASE_REG).

If this is true, the addressing mode has the PIC base register added in.

Definition at line 221 of file M68kBaseInfo.h.

References MO_GOT, and MO_GOTOFF.

◆ isGlobalStubReference()

static bool llvm::M68kII::isGlobalStubReference ( unsigned char  TargetFlag)
inlinestatic

Return true if the specified TargetFlag operand is a reference to a stub for a global, not the global itself.

Definition at line 195 of file M68kBaseInfo.h.

References MO_GOT, and MO_GOTPCREL.

◆ isPCRelBlockReference()

static bool llvm::M68kII::isPCRelBlockReference ( unsigned char  Flag)
inlinestatic

Return True if the Block is referenced using PC.

Definition at line 243 of file M68kBaseInfo.h.

References MO_PC_RELATIVE_ADDRESS.

◆ isPCRelGlobalReference()

static bool llvm::M68kII::isPCRelGlobalReference ( unsigned char  Flag)
inlinestatic

Return True if the specified GlobalValue requires PC addressing mode.

Definition at line 232 of file M68kBaseInfo.h.

References MO_GOTPCREL, and MO_PC_RELATIVE_ADDRESS.