|
LLVM 22.0.0git
|
#include "Target/Lanai/LanaiInstrInfo.h"
Definition at line 27 of file LanaiInstrInfo.h.
| LanaiInstrInfo::LanaiInstrInfo | ( | const LanaiSubtarget & | STI | ) |
Definition at line 29 of file LanaiInstrInfo.cpp.
|
override |
Definition at line 562 of file LanaiInstrInfo.cpp.
References llvm::SmallVectorImpl< T >::clear(), llvm::MachineOperand::CreateImm(), llvm::SmallVectorTemplateCommon< T, typename >::empty(), llvm::Instruction::eraseFromParent(), llvm::getImm(), llvm::Instruction::getOpcode(), llvm::User::getOperand(), MBB, and llvm::SmallVectorTemplateBase< T, bool >::push_back().
|
override |
Definition at line 179 of file LanaiInstrInfo.cpp.
|
override |
Definition at line 439 of file LanaiInstrInfo.cpp.
|
override |
Definition at line 88 of file LanaiInstrInfo.cpp.
References assert(), getMemOperandWithOffsetWidth(), getRegisterInfo(), llvm::LocationSize::getValue(), llvm::MachineInstr::hasOrderedMemoryRef(), llvm::MachineInstr::hasUnmodeledSideEffects(), llvm::LocationSize::hasValue(), llvm::MachineOperand::isIdenticalTo(), llvm::MachineInstr::mayLoadOrStore(), llvm::LocationSize::precise(), and TRI.
|
override |
Definition at line 34 of file LanaiInstrInfo.cpp.
References llvm::MachineInstrBuilder::addImm(), llvm::MachineInstrBuilder::addReg(), llvm::BuildMI(), contains(), DL, llvm::get(), llvm::getKillRegState(), llvm_unreachable, and MBB.
|
override |
Definition at line 165 of file LanaiInstrInfo.cpp.
|
override |
Definition at line 121 of file LanaiInstrInfo.cpp.
|
override |
Definition at line 796 of file LanaiInstrInfo.cpp.
References getMemOperandWithOffsetWidth(), llvm::MachineInstr::getOpcode(), llvm::Offset, llvm::SmallVectorTemplateBase< T, bool >::push_back(), and TRI.
| bool LanaiInstrInfo::getMemOperandWithOffsetWidth | ( | const MachineInstr & | LdSt, |
| const MachineOperand *& | BaseOp, | ||
| int64_t & | Offset, | ||
| LocationSize & | Width, | ||
| const TargetRegisterInfo * | TRI ) const |
Definition at line 755 of file LanaiInstrInfo.cpp.
References llvm::LPAC::ADD, llvm::MachineOperand::getImm(), llvm::MachineInstr::getNumOperands(), llvm::MachineInstr::getOpcode(), llvm::MachineInstr::getOperand(), llvm::MachineOperand::isImm(), llvm::MachineOperand::isReg(), llvm::Offset, and llvm::LocationSize::precise().
Referenced by areMemAccessesTriviallyDisjoint(), and getMemOperandsWithOffsetWidth().
|
inlinevirtual |
Definition at line 36 of file LanaiInstrInfo.h.
Referenced by areMemAccessesTriviallyDisjoint(), and optimizeCompareInstr().
|
override |
Definition at line 170 of file LanaiInstrInfo.cpp.
References llvm::ArrayRef().
|
override |
Definition at line 658 of file LanaiInstrInfo.cpp.
References llvm::MachineInstrBuilder::addImm(), llvm::MachineInstrBuilder::addMBB(), assert(), llvm::BuildMI(), DL, llvm::ArrayRef< T >::empty(), llvm::get(), MBB, and llvm::ArrayRef< T >::size().
|
override |
Definition at line 715 of file LanaiInstrInfo.cpp.
References MI.
Referenced by isLoadFromStackSlotPostFE().
|
override |
Definition at line 726 of file LanaiInstrInfo.cpp.
References Accesses, llvm::cast(), isLoadFromStackSlot(), and MI.
|
override |
Definition at line 744 of file LanaiInstrInfo.cpp.
References MI.
|
override |
Definition at line 69 of file LanaiInstrInfo.cpp.
References llvm::LPAC::ADD, llvm::MachineInstrBuilder::addFrameIndex(), llvm::MachineInstrBuilder::addImm(), llvm::BuildMI(), DL, llvm::get(), llvm_unreachable, and MBB.
|
override |
Definition at line 285 of file LanaiInstrInfo.cpp.
References B(), llvm::MachineBasicBlock::begin(), llvm::MachineOperand::clobbersPhysReg(), llvm::MachineBasicBlock::end(), llvm::MachineInstr::eraseFromParent(), flagSettingOpcodeVariant(), llvm::get(), llvm::MachineInstr::getOpcode(), getOppositeCondition(), llvm::MachineInstr::getParent(), llvm::MachineOperand::getReg(), getRegisterInfo(), I, llvm::LPCC::ICC_CC, llvm::LPCC::ICC_CS, llvm::LPCC::ICC_EQ, llvm::LPCC::ICC_F, llvm::LPCC::ICC_GE, llvm::LPCC::ICC_GT, llvm::LPCC::ICC_HI, llvm::LPCC::ICC_LE, llvm::LPCC::ICC_LS, llvm::LPCC::ICC_LT, llvm::LPCC::ICC_MI, llvm::LPCC::ICC_NE, llvm::LPCC::ICC_PL, llvm::LPCC::ICC_T, llvm::LPCC::ICC_VC, llvm::LPCC::ICC_VS, llvm::MachineOperand::isDef(), isRedundantFlagInstr(), llvm::MachineOperand::isReg(), llvm::MachineOperand::isRegMask(), MBB, MI, MRI, llvm::SmallVectorTemplateBase< T, bool >::push_back(), llvm::Sub, TRI, and llvm::LPCC::UNKNOWN.
|
override |
Definition at line 493 of file LanaiInstrInfo.cpp.
References llvm::MachineInstrBuilder::add(), llvm::MachineInstrBuilder::addImm(), assert(), llvm::BuildMI(), canFoldIntoSelect(), llvm::MachineInstr::clearKillInfo(), llvm::MachineInstrBuilder::copyImplicitOps(), DefMI, llvm::SmallPtrSetImpl< PtrType >::erase(), llvm::MachineInstr::getNumOperands(), llvm::MCInstrDesc::getNumOperands(), getOppositeCondition(), llvm::MachineOperand::getReg(), llvm::SmallPtrSetImpl< PtrType >::insert(), MI, MRI, llvm::MCInstrDesc::operands(), llvm::MachineOperand::setImplicit(), and llvm::MachineInstr::tieOperands().
|
override |
Definition at line 690 of file LanaiInstrInfo.cpp.
References assert(), llvm::Count, llvm::Instruction::eraseFromParent(), llvm::Instruction::getOpcode(), and MBB.
|
override |
Definition at line 644 of file LanaiInstrInfo.cpp.
References assert(), getOppositeCondition(), and llvm::SmallVectorTemplateCommon< T, typename >::size().
|
override |
Definition at line 49 of file LanaiInstrInfo.cpp.
References llvm::LPAC::ADD, llvm::MachineInstrBuilder::addFrameIndex(), llvm::MachineInstrBuilder::addImm(), llvm::MachineInstrBuilder::addReg(), llvm::BuildMI(), DL, llvm::get(), llvm::getKillRegState(), llvm_unreachable, and MBB.