LLVM 20.0.0git
|
#include "Target/Lanai/LanaiInstrInfo.h"
Definition at line 25 of file LanaiInstrInfo.h.
LanaiInstrInfo::LanaiInstrInfo | ( | ) |
Definition at line 28 of file LanaiInstrInfo.cpp.
|
override |
Definition at line 559 of file LanaiInstrInfo.cpp.
References llvm::MachineBasicBlock::begin(), llvm::SmallVectorImpl< T >::clear(), llvm::MachineOperand::CreateImm(), llvm::SmallVectorBase< Size_T >::empty(), llvm::MachineBasicBlock::end(), llvm::MachineBasicBlock::erase(), llvm::Instruction::eraseFromParent(), llvm::Instruction::getOpcode(), llvm::User::getOperand(), llvm::MachineBasicBlock::isLayoutSuccessor(), MBB, and llvm::SmallVectorTemplateBase< T, bool >::push_back().
|
override |
Definition at line 176 of file LanaiInstrInfo.cpp.
References MI.
|
override |
Definition at line 436 of file LanaiInstrInfo.cpp.
|
override |
Definition at line 86 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(), and TRI.
|
override |
Definition at line 32 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 162 of file LanaiInstrInfo.cpp.
|
override |
Definition at line 118 of file LanaiInstrInfo.cpp.
|
override |
Definition at line 793 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 752 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(), and llvm::Offset.
Referenced by areMemAccessesTriviallyDisjoint(), and getMemOperandsWithOffsetWidth().
|
inlinevirtual |
Definition at line 34 of file LanaiInstrInfo.h.
Referenced by areMemAccessesTriviallyDisjoint(), llvm::LanaiSubtarget::getRegisterInfo(), and optimizeCompareInstr().
|
override |
Definition at line 167 of file LanaiInstrInfo.cpp.
|
override |
Definition at line 655 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 712 of file LanaiInstrInfo.cpp.
References MI.
Referenced by isLoadFromStackSlotPostFE().
|
override |
Definition at line 723 of file LanaiInstrInfo.cpp.
References llvm::SmallVectorTemplateCommon< T, typename >::front(), isLoadFromStackSlot(), and MI.
|
override |
Definition at line 741 of file LanaiInstrInfo.cpp.
References MI.
|
override |
Definition at line 67 of file LanaiInstrInfo.cpp.
References llvm::LPAC::ADD, llvm::MachineInstrBuilder::addFrameIndex(), llvm::MachineInstrBuilder::addImm(), llvm::BuildMI(), DL, llvm::MachineBasicBlock::end(), llvm::get(), llvm_unreachable, and MBB.
|
override |
Definition at line 282 of file LanaiInstrInfo.cpp.
References B, llvm::MachineBasicBlock::begin(), CC, llvm::MachineOperand::clobbersPhysReg(), llvm::MachineBasicBlock::end(), llvm::MachineInstr::eraseFromParent(), flagSettingOpcodeVariant(), llvm::get(), llvm::MachineInstr::getOpcode(), llvm::MachineInstr::getOperand(), 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::MachineBasicBlock::successors(), TRI, and llvm::LPCC::UNKNOWN.
|
override |
Definition at line 490 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::eraseFromParent(), llvm::MachineInstr::getDesc(), llvm::MachineInstr::getNumOperands(), llvm::MCInstrDesc::getNumOperands(), llvm::MachineInstr::getOperand(), getOppositeCondition(), llvm::MachineInstr::getParent(), llvm::MachineOperand::getReg(), llvm::SmallPtrSetImpl< PtrType >::insert(), MI, MRI, llvm::MCInstrDesc::operands(), llvm::MachineOperand::setImplicit(), and llvm::MachineInstr::tieOperands().
|
override |
Definition at line 687 of file LanaiInstrInfo.cpp.
References assert(), llvm::MachineBasicBlock::begin(), llvm::MachineBasicBlock::end(), llvm::Instruction::eraseFromParent(), llvm::Instruction::getOpcode(), and MBB.
|
override |
Definition at line 641 of file LanaiInstrInfo.cpp.
References assert(), getOppositeCondition(), and llvm::SmallVectorBase< Size_T >::size().
|
override |
Definition at line 47 of file LanaiInstrInfo.cpp.
References llvm::LPAC::ADD, llvm::MachineInstrBuilder::addFrameIndex(), llvm::MachineInstrBuilder::addImm(), llvm::MachineInstrBuilder::addReg(), llvm::BuildMI(), DL, llvm::MachineBasicBlock::end(), llvm::get(), llvm::getKillRegState(), llvm_unreachable, and MBB.