LLVM  17.0.0git
Namespaces | Macros | Enumerations | Functions
M68kBaseInfo.h File Reference
#include "M68kMCTargetDesc.h"
#include "llvm/MC/MCExpr.h"
#include "llvm/Support/DataTypes.h"
#include "llvm/Support/Endian.h"
#include "llvm/Support/ErrorHandling.h"
#include "M68kGenInstrInfo.inc"
Include dependency graph for M68kBaseInfo.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.


 This is an optimization pass for GlobalISel generic memory operations.
 Define some predicates that are used for node matching.
 This namespace holds all of the target specific flags that instruction info tracks.




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  {
  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
 Target Operand Flag enum. More...


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. More...
static bool llvm::M68kII::isDirectGlobalReference (unsigned char Flag)
 Return True if the specified GlobalValue is a direct reference for a symbol. More...
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). More...
static bool llvm::M68kII::isPCRelGlobalReference (unsigned char Flag)
 Return True if the specified GlobalValue requires PC addressing mode. More...
static bool llvm::M68kII::isPCRelBlockReference (unsigned char Flag)
 Return True if the Block is referenced using PC. More...
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



Definition at line 29 of file M68kBaseInfo.h.



Definition at line 27 of file M68kBaseInfo.h.



Definition at line 28 of file M68kBaseInfo.h.