LLVM API Documentation
#include "SystemZInstrInfo.h"#include "SystemZInstrBuilder.h"#include "SystemZTargetMachine.h"#include "llvm/CodeGen/LiveVariables.h"#include "llvm/CodeGen/MachineRegisterInfo.h"#include "SystemZGenInstrInfo.inc"
Go to the source code of this file.
Defines | |
| #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 MachineInstr * | getDef (unsigned Reg, const MachineRegisterInfo *MRI) |
| static bool | isShift (MachineInstr *MI, int 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 unsigned | getConditionalMove (unsigned Opcode) |
| static bool | isSimpleBD12Move (const MachineInstr *MI, unsigned Flag) |
| static LogicOp | interpretAndImmediate (unsigned Opcode) |
| static MachineInstr * | finishConvertToThreeAddress (MachineInstr *OldMI, MachineInstr *NewMI, LiveVariables *LV) |
| static bool | isStringOfOnes (uint64_t Mask, unsigned &LSB, unsigned &Length) |
| #define GET_INSTRINFO_CTOR_DTOR |
Definition at line 22 of file SystemZInstrInfo.cpp.
| #define GET_INSTRMAP_INFO |
Definition at line 23 of file SystemZInstrInfo.cpp.
Definition at line 27 of file SystemZInstrInfo.cpp.
Referenced by llvm::SystemZInstrInfo::convertToThreeAddress(), llvm::SystemZInstrInfo::isRxSBGMask(), and llvm::APInt::magicu().
| static void eraseIfDead | ( | MachineInstr * | MI, |
| const MachineRegisterInfo * | MRI | ||
| ) | [static] |
Definition at line 433 of file SystemZInstrInfo.cpp.
References llvm::MachineInstr::eraseFromParent(), llvm::MachineInstr::getOperand(), llvm::MachineOperand::getReg(), and llvm::MachineRegisterInfo::use_nodbg_empty().
Referenced by removeIPMBasedCompare().
| static MachineInstr* finishConvertToThreeAddress | ( | MachineInstr * | OldMI, |
| MachineInstr * | NewMI, | ||
| LiveVariables * | LV | ||
| ) | [static] |
Definition at line 659 of file SystemZInstrInfo.cpp.
References llvm::MachineInstr::getNumOperands(), llvm::MachineInstr::getOperand(), llvm::MachineOperand::getReg(), I, llvm::MachineOperand::isKill(), llvm::MachineOperand::isReg(), and llvm::LiveVariables::replaceKillInstruction().
Referenced by llvm::SystemZInstrInfo::convertToThreeAddress().
| static unsigned getConditionalMove | ( | unsigned | Opcode | ) | [static] |
Definition at line 498 of file SystemZInstrInfo.cpp.
Referenced by llvm::SystemZInstrInfo::isPredicable(), and llvm::SystemZInstrInfo::PredicateInstruction().
| static MachineInstr* getDef | ( | unsigned | Reg, |
| const MachineRegisterInfo * | MRI | ||
| ) | [static] |
Definition at line 418 of file SystemZInstrInfo.cpp.
References llvm::MachineRegisterInfo::getUniqueVRegDef(), and llvm::TargetRegisterInfo::isPhysicalRegister().
Referenced by llvm::UnOpInit::Fold(), llvm::MemoryDependenceAnalysis::getPointerDependencyFrom(), and removeIPMBasedCompare().
| static LogicOp interpretAndImmediate | ( | unsigned | Opcode | ) | [static] |
Definition at line 642 of file SystemZInstrInfo.cpp.
Referenced by llvm::SystemZInstrInfo::convertToThreeAddress().
Definition at line 33 of file SystemZInstrInfo.cpp.
References contains().
Referenced by llvm::SystemZInstrInfo::expandPostRAPseudo().
| static bool isShift | ( | MachineInstr * | MI, |
| int | Opcode, | ||
| int64_t | Imm | ||
| ) | [static] |
Definition at line 426 of file SystemZInstrInfo.cpp.
References llvm::MachineOperand::getImm(), llvm::MachineInstr::getOpcode(), llvm::MachineInstr::getOperand(), and llvm::MachineOperand::getReg().
Referenced by removeIPMBasedCompare().
| static bool isSimpleBD12Move | ( | const MachineInstr * | MI, |
| unsigned | Flag | ||
| ) | [static] |
Definition at line 623 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 int isSimpleMove | ( | const MachineInstr * | MI, |
| int & | FrameIndex, | ||
| unsigned | Flag | ||
| ) | [static] |
Definition at line 193 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().
| static bool isStringOfOnes | ( | uint64_t | Mask, |
| unsigned & | LSB, | ||
| unsigned & | Length | ||
| ) | [static] |
Definition at line 1167 of file SystemZInstrInfo.cpp.
References llvm::findFirstSet().
Referenced by llvm::SystemZInstrInfo::isRxSBGMask().
| static bool removeIPMBasedCompare | ( | MachineInstr * | Compare, |
| unsigned | SrcReg, | ||
| const MachineRegisterInfo * | MRI, | ||
| const TargetRegisterInfo * | TRI | ||
| ) | [static] |
Definition at line 442 of file SystemZInstrInfo.cpp.
References llvm::MCID::Compare, llvm::MachineInstr::eraseFromParent(), eraseIfDead(), getDef(), llvm::MachineInstr::getOpcode(), llvm::MachineInstr::getOperand(), llvm::MachineInstr::getParent(), llvm::MachineOperand::getReg(), llvm::SystemZISD::IPM, llvm::SystemZ::IPM_CC, isShift(), llvm::MachineInstr::modifiesRegister(), and llvm::ISD::SRL.
Referenced by llvm::SystemZInstrInfo::optimizeCompareInstr().