LLVM
8.0.1
|
#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"
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 MachineInstr * | finishConvertToThreeAddress (MachineInstr *OldMI, MachineInstr *NewMI, LiveVariables *LV) |
static bool | isStringOfOnes (uint64_t Mask, unsigned &LSB, unsigned &Length) |
#define DEBUG_TYPE "systemz-II" |
Definition at line 49 of file SystemZInstrInfo.cpp.
#define GET_INSTRINFO_CTOR_DTOR |
Definition at line 45 of file SystemZInstrInfo.cpp.
#define GET_INSTRMAP_INFO |
Definition at line 46 of file SystemZInstrInfo.cpp.
|
static |
Definition at line 53 of file SystemZInstrInfo.cpp.
Referenced by llvm::SystemZInstrInfo::convertToThreeAddress(), insertDAGNode(), llvm::APInt::magicu(), and maskMatters().
|
static |
Definition at line 963 of file SystemZInstrInfo.cpp.
References llvm::MachineInstr::getNumOperands(), llvm::MachineInstr::getOperand(), llvm::MachineOperand::getReg(), I, llvm::MachineOperand::isKill(), llvm::MachineOperand::isReg(), llvm::LiveVariables::replaceKillInstruction(), and transferDeadCC().
Referenced by llvm::SystemZInstrInfo::convertToThreeAddress().
|
static |
Definition at line 938 of file SystemZInstrInfo.cpp.
Referenced by llvm::SystemZInstrInfo::convertToThreeAddress().
Definition at line 59 of file SystemZInstrInfo.cpp.
References assert(), and contains().
Referenced by llvm::SystemZInstrInfo::expandPostRAPseudo(), and llvm::SystemZInstrInfo::SystemZInstrInfo().
|
static |
Definition at line 915 of file SystemZInstrInfo.cpp.
References llvm::MachineInstr::getDesc(), llvm::MachineOperand::getImm(), llvm::MachineInstr::getOperand(), llvm::MachineOperand::getReg(), and llvm::MCInstrDesc::TSFlags.
Referenced by llvm::SystemZInstrInfo::foldMemoryOperandImpl().
|
static |
Definition at line 336 of file SystemZInstrInfo.cpp.
References llvm::MachineInstr::getDesc(), llvm::MachineOperand::getImm(), llvm::MachineOperand::getIndex(), llvm::MachineInstr::getOperand(), llvm::MachineOperand::getReg(), llvm::MachineOperand::isFI(), and llvm::MCInstrDesc::TSFlags.
Referenced by llvm::SystemZInstrInfo::isLoadFromStackSlot(), and llvm::SystemZInstrInfo::isStoreToStackSlot().
Definition at line 1592 of file SystemZInstrInfo.cpp.
References llvm::findFirstSet().
STATISTIC | ( | LOCRMuxJumps | , |
"Number of LOCRMux jump-sequences (lower is better)" | |||
) |
|
static |
Definition at line 953 of file SystemZInstrInfo.cpp.
References llvm::MachineInstr::findRegisterDefOperand(), llvm::MachineInstr::registerDefIsDead(), and llvm::MachineOperand::setIsDead().
Referenced by finishConvertToThreeAddress(), and llvm::SystemZInstrInfo::foldMemoryOperandImpl().