|
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().
1.8.13