LLVM  8.0.1
Macros | Functions
SystemZInstrInfo.cpp File Reference
#include "SystemZInstrInfo.h"
#include "MCTargetDesc/SystemZMCTargetDesc.h"
#include "SystemZ.h"
#include "SystemZInstrBuilder.h"
#include "SystemZSubtarget.h"
#include "llvm/ADT/Statistic.h"
#include "llvm/CodeGen/LiveInterval.h"
#include "llvm/CodeGen/LiveIntervals.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/CodeGen/TargetInstrInfo.h"
#include "llvm/CodeGen/TargetSubtargetInfo.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/TargetMachine.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
 
#define DEBUG_TYPE   "systemz-II"
 

Functions

 STATISTIC (LOCRMuxJumps, "Number of LOCRMux jump-sequences (lower is better)")
 
static uint64_t allOnes (unsigned int Count)
 
static bool isHighReg (unsigned int Reg)
 
static int isSimpleMove (const MachineInstr &MI, int &FrameIndex, unsigned Flag)
 
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

◆ DEBUG_TYPE

#define DEBUG_TYPE   "systemz-II"

Definition at line 49 of file SystemZInstrInfo.cpp.

◆ GET_INSTRINFO_CTOR_DTOR

#define GET_INSTRINFO_CTOR_DTOR

Definition at line 45 of file SystemZInstrInfo.cpp.

◆ GET_INSTRMAP_INFO

#define GET_INSTRMAP_INFO

Definition at line 46 of file SystemZInstrInfo.cpp.

Function Documentation

◆ allOnes()

static uint64_t allOnes ( unsigned int  Count)
static

◆ finishConvertToThreeAddress()

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

◆ interpretAndImmediate()

static LogicOp interpretAndImmediate ( unsigned  Opcode)
static

Definition at line 938 of file SystemZInstrInfo.cpp.

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

◆ isHighReg()

static bool isHighReg ( unsigned int  Reg)
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 1592 of file SystemZInstrInfo.cpp.

References llvm::findFirstSet().

◆ STATISTIC()

STATISTIC ( LOCRMuxJumps  ,
"Number of LOCRMux jump-sequences (lower is better)"   
)

◆ transferDeadCC()

static void transferDeadCC ( MachineInstr OldMI,
MachineInstr NewMI 
)
static