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 563 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 180 of file LanaiInstrInfo.cpp.
|
override |
Definition at line 440 of file LanaiInstrInfo.cpp.
|
override |
Definition at line 89 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 33 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 166 of file LanaiInstrInfo.cpp.
|
override |
Definition at line 122 of file LanaiInstrInfo.cpp.
|
override |
Definition at line 797 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 756 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 171 of file LanaiInstrInfo.cpp.
References llvm::ArrayRef().
|
override |
Definition at line 659 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 716 of file LanaiInstrInfo.cpp.
References MI.
Referenced by isLoadFromStackSlotPostFE().
|
override |
Definition at line 727 of file LanaiInstrInfo.cpp.
References Accesses, llvm::cast(), isLoadFromStackSlot(), and MI.
|
override |
Definition at line 745 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 286 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 494 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 691 of file LanaiInstrInfo.cpp.
References assert(), llvm::Count, llvm::Instruction::eraseFromParent(), llvm::Instruction::getOpcode(), and MBB.
|
override |
Definition at line 645 of file LanaiInstrInfo.cpp.
References assert(), getOppositeCondition(), and llvm::SmallVectorTemplateCommon< T, typename >::size().
|
override |
Definition at line 48 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.