LLVM  6.0.0svn
Macros | Functions
SystemZInstrInfo.cpp File Reference
#include "SystemZInstrInfo.h"
#include "MCTargetDesc/SystemZMCTargetDesc.h"
#include "SystemZ.h"
#include "SystemZInstrBuilder.h"
#include "SystemZSubtarget.h"
#include "llvm/CodeGen/LiveInterval.h"
#include "llvm/CodeGen/LiveIntervalAnalysis.h"
#include "llvm/CodeGen/LiveVariables.h"
#include "llvm/CodeGen/MachineBasicBlock.h"
#include "llvm/CodeGen/MachineFrameInfo.h"
#include "llvm/CodeGen/MachineFunction.h"
#include "llvm/CodeGen/MachineInstr.h"
#include "llvm/CodeGen/MachineMemOperand.h"
#include "llvm/CodeGen/MachineOperand.h"
#include "llvm/CodeGen/MachineRegisterInfo.h"
#include "llvm/CodeGen/SlotIndexes.h"
#include "llvm/MC/MCInstrDesc.h"
#include "llvm/MC/MCRegisterInfo.h"
#include "llvm/Support/BranchProbability.h"
#include "llvm/Support/ErrorHandling.h"
#include "llvm/Support/MathExtras.h"
#include "llvm/Target/TargetInstrInfo.h"
#include "llvm/Target/TargetMachine.h"
#include "llvm/Target/TargetSubtargetInfo.h"
#include <cassert>
#include <cstdint>
#include <iterator>
#include "SystemZGenInstrInfo.inc"
Include dependency graph for SystemZInstrInfo.cpp:

Go to the source code of this file.

Macros

#define GET_INSTRINFO_CTOR_DTOR
 
#define GET_INSTRMAP_INFO
 

Functions

static uint64_t allOnes (unsigned int Count)
 
static bool isHighReg (unsigned int Reg)
 
static int isSimpleMove (const MachineInstr &MI, int &FrameIndex, unsigned Flag)
 
static MachineInstrgetDef (unsigned Reg, const MachineRegisterInfo *MRI)
 
static bool isShift (MachineInstr *MI, unsigned Opcode, int64_t Imm)
 
static void eraseIfDead (MachineInstr *MI, const MachineRegisterInfo *MRI)
 
static bool removeIPMBasedCompare (MachineInstr &Compare, unsigned SrcReg, const MachineRegisterInfo *MRI, const TargetRegisterInfo *TRI)
 
static bool isSimpleBD12Move (const MachineInstr *MI, unsigned Flag)
 
static LogicOp interpretAndImmediate (unsigned Opcode)
 
static void transferDeadCC (MachineInstr *OldMI, MachineInstr *NewMI)
 
static MachineInstrfinishConvertToThreeAddress (MachineInstr *OldMI, MachineInstr *NewMI, LiveVariables *LV)
 
static bool isStringOfOnes (uint64_t Mask, unsigned &LSB, unsigned &Length)
 

Macro Definition Documentation

◆ GET_INSTRINFO_CTOR_DTOR

#define GET_INSTRINFO_CTOR_DTOR

Definition at line 44 of file SystemZInstrInfo.cpp.

◆ GET_INSTRMAP_INFO

#define GET_INSTRMAP_INFO

Definition at line 45 of file SystemZInstrInfo.cpp.

Function Documentation

◆ allOnes()

static uint64_t allOnes ( unsigned int  Count)
static

◆ eraseIfDead()

static void eraseIfDead ( MachineInstr MI,
const MachineRegisterInfo MRI 
)
static

◆ finishConvertToThreeAddress()

static MachineInstr* finishConvertToThreeAddress ( MachineInstr OldMI,
MachineInstr NewMI,
LiveVariables LV 
)
static

◆ getDef()

static MachineInstr* getDef ( unsigned  Reg,
const MachineRegisterInfo MRI 
)
static

◆ interpretAndImmediate()

static LogicOp interpretAndImmediate ( unsigned  Opcode)
static

Definition at line 989 of file SystemZInstrInfo.cpp.

Referenced by llvm::SystemZInstrInfo::convertToThreeAddress().

◆ isHighReg()

static bool isHighReg ( unsigned int  Reg)
static

◆ isShift()

static bool isShift ( MachineInstr MI,
unsigned  Opcode,
int64_t  Imm 
)
static

◆ isSimpleBD12Move()

static bool isSimpleBD12Move ( const MachineInstr MI,
unsigned  Flag 
)
static

◆ isSimpleMove()

static int isSimpleMove ( const MachineInstr MI,
int &  FrameIndex,
unsigned  Flag 
)
static

◆ isStringOfOnes()

static bool isStringOfOnes ( uint64_t  Mask,
unsigned LSB,
unsigned Length 
)
static

Definition at line 1613 of file SystemZInstrInfo.cpp.

References llvm::findFirstSet().

Referenced by llvm::SystemZInstrInfo::isRxSBGMask().

◆ removeIPMBasedCompare()

static bool removeIPMBasedCompare ( MachineInstr Compare,
unsigned  SrcReg,
const MachineRegisterInfo MRI,
const TargetRegisterInfo TRI 
)
static

◆ transferDeadCC()

static void transferDeadCC ( MachineInstr OldMI,
MachineInstr NewMI 
)
static