LLVM: lib/Target/M68k/MCTargetDesc/M68kBaseInfo.h File Reference (original) (raw)

This file contains small standalone helper functions and enum definitions for the M68k target useful for the compiler back-end and the MC libraries. More...

Go to the source code of this file.

Namespaces
namespace llvm
This is an optimization pass for GlobalISel generic memory operations.
namespace llvm::M68k
Define some predicates that are used for node matching.
namespace llvm::M68kBeads
namespace llvm::M68kII
This namespace holds all of the target specific flags that instruction info tracks.
Enumerations
enum { llvm::M68k::MemDisp = 0 , llvm::M68k::MemBase = 1 , llvm::M68k::MemIndex = 2 , llvm::M68k::MemOuter = 3 }
Enums for memory operand decoding. More...
enum { llvm::M68k::PCRelDisp = 0 , llvm::M68k::PCRelIndex = 1 , llvm::M68k::PCRelOuter = 2 }
Enums for pc-relative memory operand decoding. More...
enum class llvm::M68k::MemAddrModeKind : unsigned { llvm::M68k::j = 1 , llvm::M68k::o, llvm::M68k::e, llvm::M68k::p, llvm::M68k::f, llvm::M68k::F, llvm::M68k::g, llvm::M68k::G, llvm::M68k::u, llvm::M68k::U, llvm::M68k::v, llvm::M68k::V, llvm::M68k::b, llvm::M68k::B, llvm::M68k::q, llvm::M68k::k, llvm::M68k::K, llvm::M68k::l, llvm::M68k::L, llvm::M68k::x, llvm::M68k::X, llvm::M68k::y, llvm::M68k::Y }
enum { llvm::M68kBeads::Ctrl = 0x0 , llvm::M68kBeads::Bits1 = 0x1 , llvm::M68kBeads::Bits2 = 0x2 , llvm::M68kBeads::Bits3 = 0x3 , llvm::M68kBeads::Bits4 = 0x4 , llvm::M68kBeads::DAReg = 0x5 , llvm::M68kBeads::DA = 0x6 , llvm::M68kBeads::Reg = 0x7 , llvm::M68kBeads::DReg = 0x8 , llvm::M68kBeads::Disp8 = 0x9 , llvm::M68kBeads::Imm8 = 0xA , llvm::M68kBeads::Imm16 = 0xB , llvm::M68kBeads::Imm32 = 0xC , llvm::M68kBeads::Imm3 = 0xD }
enum { llvm::M68kBeads::Term = 0x0 , llvm::M68kBeads::Ignore = 0x1 }
enum llvm::M68kII::TOF { llvm::M68kII::MO_NO_FLAG, llvm::M68kII::MO_ABSOLUTE_ADDRESS, llvm::M68kII::MO_PC_RELATIVE_ADDRESS, llvm::M68kII::MO_GOT, llvm::M68kII::MO_GOTOFF, llvm::M68kII::MO_GOTPCREL, llvm::M68kII::MO_PLT, llvm::M68kII::MO_TLSGD, llvm::M68kII::MO_TLSLD, llvm::M68kII::MO_TLSLDM, llvm::M68kII::MO_TLSIE, llvm::M68kII::MO_TLSLE }
Target Operand Flag enum. More...
Functions
template<typename value_t>
value_t llvm::M68k::swapWord (value_t Val)
static bool llvm::M68kII::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 llvm::M68kII::isDirectGlobalReference (unsigned char Flag)
Return True if the specified GlobalValue is a direct reference for a symbol.
static bool llvm::M68kII::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 llvm::M68kII::isPCRelGlobalReference (unsigned char Flag)
Return True if the specified GlobalValue requires PC addressing mode.
static bool llvm::M68kII::isPCRelBlockReference (unsigned char Flag)
Return True if the Block is referenced using PC.
static bool llvm::M68kII::isAddressRegister (unsigned RegNo)
static bool llvm::M68kII::hasMultiMIOperands (unsigned Op, unsigned LogicalOpIdx)
static unsigned llvm::M68kII::getMaskedSpillRegister (unsigned order)

Detailed Description

This file contains small standalone helper functions and enum definitions for the M68k target useful for the compiler back-end and the MC libraries.

As such, it deliberately does not include references to LLVM core code gen types, passes, etc..

Definition in file M68kBaseInfo.h.

Macro Definition Documentation

GET_INSTRINFO_LOGICAL_OPERAND_SIZE_MAP

#define GET_INSTRINFO_LOGICAL_OPERAND_SIZE_MAP

GET_INSTRINFO_MI_OPS_INFO

#define GET_INSTRINFO_MI_OPS_INFO

GET_INSTRINFO_OPERAND_TYPES_ENUM

#define GET_INSTRINFO_OPERAND_TYPES_ENUM