LLVM 20.0.0git
|
#include "Target/Lanai/LanaiInstrInfo.h"
Definition at line 25 of file LanaiInstrInfo.h.
LanaiInstrInfo::LanaiInstrInfo | ( | ) |
Definition at line 30 of file LanaiInstrInfo.cpp.
|
override |
Definition at line 561 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 178 of file LanaiInstrInfo.cpp.
References MI.
|
override |
Definition at line 438 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(), 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 164 of file LanaiInstrInfo.cpp.
|
override |
Definition at line 120 of file LanaiInstrInfo.cpp.
|
override |
Definition at line 795 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 754 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 169 of file LanaiInstrInfo.cpp.
|
override |
Definition at line 657 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 714 of file LanaiInstrInfo.cpp.
References MI.
Referenced by isLoadFromStackSlotPostFE().
|
override |
Definition at line 725 of file LanaiInstrInfo.cpp.
References llvm::SmallVectorTemplateCommon< T, typename >::front(), isLoadFromStackSlot(), and MI.
|
override |
Definition at line 743 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::MachineBasicBlock::end(), llvm::get(), llvm_unreachable, and MBB.
|
override |
Definition at line 284 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 492 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 689 of file LanaiInstrInfo.cpp.
References assert(), llvm::MachineBasicBlock::begin(), llvm::MachineBasicBlock::end(), llvm::Instruction::eraseFromParent(), llvm::Instruction::getOpcode(), and MBB.
|
override |
Definition at line 643 of file LanaiInstrInfo.cpp.
References assert(), getOppositeCondition(), and llvm::SmallVectorBase< Size_T >::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::MachineBasicBlock::end(), llvm::get(), llvm::getKillRegState(), llvm_unreachable, and MBB.