|
LLVM
3.7.0
|
#include <SystemZInstrInfo.h>
Definition at line 117 of file SystemZInstrInfo.h.
|
explicit |
Definition at line 43 of file SystemZInstrInfo.cpp.
|
override |
Definition at line 241 of file SystemZInstrInfo.cpp.
References llvm::MachineBasicBlock::begin(), llvm::MCID::Branch, llvm::SystemZII::BranchNormal, llvm::SystemZII::Branch::CCMask, llvm::SystemZ::CCMASK_ANY, llvm::SystemZII::Branch::CCValid, llvm::SmallVectorImpl< T >::clear(), llvm::MachineOperand::CreateImm(), llvm::SmallVectorBase::empty(), llvm::MachineBasicBlock::end(), llvm::MachineBasicBlock::eraseFromParent(), getBranchInfo(), llvm::MachineOperand::getMBB(), I, llvm::MachineBasicBlock::isLayoutSuccessor(), llvm::MachineOperand::isMBB(), llvm::SmallVectorTemplateBase< T, isPodLike< T >::value >::push_back(), llvm::SmallVectorTemplateCommon< T >::size(), llvm::SystemZII::Branch::Target, and llvm::SystemZII::Branch::Type.
|
override |
Definition at line 399 of file SystemZInstrInfo.cpp.
References llvm::MachineOperand::getImm(), llvm::MachineInstr::getNumExplicitOperands(), llvm::MachineInstr::getOperand(), llvm::MachineOperand::getReg(), llvm::MachineInstr::isCompare(), llvm::MachineOperand::isImm(), and llvm::MachineOperand::isReg().
|
override |
Definition at line 679 of file SystemZInstrInfo.cpp.
References llvm::MachineInstrBuilder::addImm(), llvm::MachineInstrBuilder::addOperand(), llvm::MachineInstrBuilder::addReg(), allOnes(), llvm::APIntOps::And(), llvm::BuildMI(), llvm::MachineRegisterInfo::constrainRegClass(), llvm::TargetRegisterClass::contains(), finishConvertToThreeAddress(), llvm::MachineInstr::getDebugLoc(), llvm::MachineOperand::getImm(), llvm::getKillRegState(), llvm::MachineInstr::getNumOperands(), llvm::MachineInstr::getOpcode(), llvm::MachineInstr::getOperand(), llvm::MachineInstr::getParent(), llvm::MachineBasicBlock::getParent(), llvm::MachineOperand::getReg(), llvm::MachineRegisterInfo::getRegClass(), llvm::MachineFunction::getRegInfo(), llvm::MachineOperand::getSubReg(), llvm::SystemZSubtarget::hasDistinctOps(), llvm::SystemZSubtarget::hasMiscellaneousExtensions(), I, interpretAndImmediate(), llvm::MachineOperand::isKill(), isRxSBGMask(), and llvm::TargetRegisterInfo::isVirtualRegister().
|
override |
Definition at line 552 of file SystemZInstrInfo.cpp.
References llvm::MachineInstrBuilder::addReg(), llvm::BuildMI(), contains(), llvm::getKillRegState(), llvm::MipsISD::LDR, and llvm_unreachable.
|
override |
Definition at line 896 of file SystemZInstrInfo.cpp.
References llvm::SystemZISD::ADJDYNALLOC, isHighReg(), llvm::AArch64DB::LD, and llvm::AArch64DB::ST.
|
override |
Definition at line 754 of file SystemZInstrInfo.cpp.
References llvm::MachineInstrBuilder::addFrameIndex(), llvm::MachineInstrBuilder::addImm(), llvm::MachineInstrBuilder::addMemOperand(), llvm::MachineInstrBuilder::addOperand(), llvm::MachineInstrBuilder::addReg(), llvm::BuildMI(), llvm::SystemZII::getAccessSize(), llvm::MachineInstr::getDebugLoc(), llvm::MachineFunction::getFrameInfo(), llvm::MachineOperand::getImm(), llvm::MachineInstr::getNumExplicitOperands(), llvm::MachineFrameInfo::getObjectSize(), llvm::MachineInstr::getOpcode(), llvm::MachineInstr::getOperand(), llvm::MachineOperand::getReg(), llvm::MachineRegisterInfo::getRegClass(), llvm::MachineFunction::getRegInfo(), llvm::MachineMemOperand::getSize(), llvm::SystemZII::HasIndex, llvm::MachineInstr::hasOneMemOperand(), I, llvm::isInt< 8 >(), isSimpleBD12Move(), llvm::MachineMemOperand::isVolatile(), llvm::AArch64DB::LD, llvm::MachineInstr::memoperands_begin(), llvm::SystemZISD::MVC, llvm::SystemZII::SimpleBDXLoad, llvm::SystemZII::SimpleBDXStore, llvm::ArrayRef< T >::size(), and llvm::MCInstrDesc::TSFlags.
|
override |
Definition at line 889 of file SystemZInstrInfo.cpp.
| SystemZII::Branch SystemZInstrInfo::getBranchInfo | ( | const MachineInstr * | MI | ) | const |
Definition at line 1065 of file SystemZInstrInfo.cpp.
References llvm::ISD::BR, llvm::MCID::Branch, llvm::SystemZII::BranchC, llvm::SystemZII::BranchCG, llvm::SystemZII::BranchCL, llvm::SystemZII::BranchCLG, llvm::SystemZII::BranchCT, llvm::SystemZII::BranchCTG, llvm::SystemZII::BranchNormal, llvm::SystemZ::CCMASK_ANY, llvm::SystemZ::CCMASK_CMP_NE, llvm::SystemZ::CCMASK_ICMP, llvm::MachineOperand::getImm(), llvm::MachineInstr::getOpcode(), llvm::MachineInstr::getOperand(), and llvm_unreachable.
Referenced by AnalyzeBranch(), and RemoveBranch().
| unsigned SystemZInstrInfo::getCompareAndBranch | ( | unsigned | Opcode, |
| const MachineInstr * | MI = nullptr |
||
| ) | const |
Definition at line 1246 of file SystemZInstrInfo.cpp.
References llvm::MachineOperand::getImm(), llvm::MachineInstr::getOperand(), llvm::isInt< 8 >(), and llvm::isUInt< 8 >().
| uint64_t SystemZInstrInfo::getInstSizeInBytes | ( | const MachineInstr * | MI | ) | const |
Definition at line 1055 of file SystemZInstrInfo.cpp.
References llvm::MachineInstr::getDesc(), llvm::TargetMachine::getMCAsmInfo(), llvm::MachineInstr::getOpcode(), llvm::MachineInstr::getOperand(), llvm::MachineInstr::getParent(), llvm::MachineBasicBlock::getParent(), llvm::MCInstrDesc::getSize(), llvm::MachineOperand::getSymbolName(), llvm::MachineFunction::getTarget(), and llvm::TargetOpcode::INLINEASM.
Definition at line 1182 of file SystemZInstrInfo.cpp.
References llvm::MipsISD::LDR, and llvm::AArch64CC::LT.
| void SystemZInstrInfo::getLoadStoreOpcodes | ( | const TargetRegisterClass * | RC, |
| unsigned & | LoadOpcode, | ||
| unsigned & | StoreOpcode | ||
| ) | const |
Definition at line 1112 of file SystemZInstrInfo.cpp.
References llvm::AArch64DB::LD, llvm::AArch64CC::LE, llvm_unreachable, and llvm::AArch64DB::ST.
Referenced by loadRegFromStackSlot(), and storeRegToStackSlot().
Definition at line 1155 of file SystemZInstrInfo.cpp.
References llvm::SystemZII::Has20BitOffset, llvm::SystemZII::Is128Bit, and llvm::MCInstrDesc::TSFlags.
|
inline |
Definition at line 199 of file SystemZInstrInfo.h.
Referenced by llvm::SystemZSubtarget::getRegisterInfo().
|
override |
Definition at line 363 of file SystemZInstrInfo.cpp.
References llvm::MachineInstrBuilder::addImm(), llvm::MachineInstrBuilder::addMBB(), llvm::BuildMI(), llvm::ArrayRef< T >::empty(), and llvm::ArrayRef< T >::size().
|
override |
Definition at line 206 of file SystemZInstrInfo.cpp.
References isSimpleMove(), and llvm::SystemZII::SimpleBDXLoad.
|
override |
Definition at line 506 of file SystemZInstrInfo.cpp.
References getConditionalMove(), llvm::MachineInstr::getOpcode(), and llvm::SystemZSubtarget::hasLoadStoreOnCond().
|
override |
Definition at line 515 of file SystemZInstrInfo.cpp.
|
override |
Definition at line 523 of file SystemZInstrInfo.cpp.
| bool SystemZInstrInfo::isRxSBGMask | ( | uint64_t | Mask, |
| unsigned | BitSize, | ||
| unsigned & | Start, | ||
| unsigned & | End | ||
| ) | const |
Definition at line 1217 of file SystemZInstrInfo.cpp.
References allOnes(), and isStringOfOnes().
Referenced by convertToThreeAddress(), llvm::SystemZTTIImpl::getIntImmCost(), and tryBuildVectorReplicate().
|
override |
Definition at line 216 of file SystemZInstrInfo.cpp.
References llvm::MachineFunction::getFrameInfo(), llvm::MachineOperand::getImm(), llvm::MachineOperand::getIndex(), llvm::MachineFrameInfo::getObjectSize(), llvm::MachineInstr::getOpcode(), llvm::MachineInstr::getOperand(), llvm::MachineInstr::getParent(), llvm::MachineBasicBlock::getParent(), llvm::MachineOperand::isFI(), and llvm::SystemZISD::MVC.
|
override |
Definition at line 211 of file SystemZInstrInfo.cpp.
References isSimpleMove(), and llvm::SystemZII::SimpleBDXStore.
| void SystemZInstrInfo::loadImmediate | ( | MachineBasicBlock & | MBB, |
| MachineBasicBlock::iterator | MBBI, | ||
| unsigned | Reg, | ||
| uint64_t | Value | ||
| ) | const |
Definition at line 1270 of file SystemZInstrInfo.cpp.
References llvm::MachineInstrBuilder::addImm(), llvm::BuildMI(), llvm::MachineBasicBlock::end(), llvm::SystemZ::isImmLH(), llvm::SystemZ::isImmLL(), llvm::isInt< 16 >(), and llvm::isInt< 32 >().
|
override |
Definition at line 611 of file SystemZInstrInfo.cpp.
References llvm::addFrameReference(), llvm::BuildMI(), llvm::MachineBasicBlock::end(), and getLoadStoreOpcodes().
|
override |
Definition at line 483 of file SystemZInstrInfo.cpp.
References llvm::MachineInstr::getDesc(), llvm::SystemZII::IsLogical, removeIPMBasedCompare(), and llvm::MCInstrDesc::TSFlags.
|
override |
Definition at line 533 of file SystemZInstrInfo.cpp.
References llvm::MachineInstrBuilder::addImm(), llvm::MachineInstrBuilder::addReg(), getConditionalMove(), llvm::MachineInstr::getOpcode(), llvm::MachineInstr::getParent(), llvm::MachineBasicBlock::getParent(), llvm::SystemZSubtarget::hasLoadStoreOnCond(), llvm::RegState::Implicit, llvm::AArch64CC::MI, llvm::MachineInstr::setDesc(), and llvm::ArrayRef< T >::size().
|
override |
Definition at line 333 of file SystemZInstrInfo.cpp.
References llvm::MachineBasicBlock::begin(), llvm::MachineBasicBlock::end(), getBranchInfo(), I, llvm::MachineOperand::isMBB(), and llvm::SystemZII::Branch::Target.
|
override |
Definition at line 356 of file SystemZInstrInfo.cpp.
References llvm::SmallVectorTemplateCommon< T >::size().
|
override |
Definition at line 594 of file SystemZInstrInfo.cpp.
References llvm::addFrameReference(), llvm::BuildMI(), llvm::MachineBasicBlock::end(), llvm::getKillRegState(), and getLoadStoreOpcodes().
1.8.6