LLVM
15.0.0git
|
#include "Target/ARM/Thumb2InstrInfo.h"
Additional Inherited Members | |
![]() | |
static bool | isCPSRDefined (const MachineInstr &MI) |
![]() | |
ARMBaseInstrInfo (const ARMSubtarget &STI) | |
void | expandLoadStackGuardBase (MachineBasicBlock::iterator MI, unsigned LoadImmOpc, unsigned LoadOpc) const |
bool | getRegSequenceLikeInputs (const MachineInstr &MI, unsigned DefIdx, SmallVectorImpl< RegSubRegPairAndIdx > &InputRegs) const override |
Build the equivalent inputs of a REG_SEQUENCE for the given MI and DefIdx . More... | |
bool | getExtractSubregLikeInputs (const MachineInstr &MI, unsigned DefIdx, RegSubRegPairAndIdx &InputReg) const override |
Build the equivalent inputs of a EXTRACT_SUBREG for the given MI and DefIdx . More... | |
bool | getInsertSubregLikeInputs (const MachineInstr &MI, unsigned DefIdx, RegSubRegPair &BaseReg, RegSubRegPairAndIdx &InsertedReg) const override |
Build the equivalent inputs of a INSERT_SUBREG for the given MI and DefIdx . More... | |
MachineInstr * | commuteInstructionImpl (MachineInstr &MI, bool NewMI, unsigned OpIdx1, unsigned OpIdx2) const override |
Commutes the operands in the given instruction. More... | |
Optional< DestSourcePair > | isCopyInstrImpl (const MachineInstr &MI) const override |
If the specific machine instruction is an instruction that moves/copies value from one register to another register return destination and source registers as machine operands. More... | |
Optional< ParamLoadedValue > | describeLoadedValue (const MachineInstr &MI, Register Reg) const override |
Specialization of TargetInstrInfo::describeLoadedValue, used to enhance debug entry value descriptions for ARM targets. More... | |
Definition at line 22 of file Thumb2InstrInfo.h.
|
explicit |
Definition at line 48 of file Thumb2InstrInfo.cpp.
|
override |
Definition at line 271 of file Thumb2InstrInfo.cpp.
References llvm::ARMBaseInstrInfo::commuteInstructionImpl(), llvm::getVPTInstrPredicate(), MI, and llvm::ARMVCC::None.
|
override |
Definition at line 150 of file Thumb2InstrInfo.cpp.
References llvm::MachineInstrBuilder::add(), llvm::MachineInstrBuilder::addReg(), llvm::ARMCC::AL, llvm::BuildMI(), contains(), llvm::ARMBaseInstrInfo::copyPhysReg(), DL, get, llvm::getKillRegState(), I, MBB, and llvm::predOps().
|
override |
Return the noop instruction to use for a noop.
Definition at line 52 of file Thumb2InstrInfo.cpp.
References llvm::MCInstBuilder::addImm(), llvm::MCInstBuilder::addReg(), and llvm::ARMCC::AL.
|
inlineoverridevirtual |
getRegisterInfo - TargetInstrInfo is a superset of MRegister info.
As such, whenever a client has an instance of instruction info, it should always be able to get register info as well (through this method).
Implements llvm::ARMBaseInstrInfo.
Definition at line 60 of file Thumb2InstrInfo.h.
|
overridevirtual |
Implements llvm::ARMBaseInstrInfo.
Definition at line 56 of file Thumb2InstrInfo.cpp.
|
override |
Definition at line 113 of file Thumb2InstrInfo.cpp.
References llvm::ARMCC::AL, llvm::MachineBasicBlock::end(), llvm::getITInstrPredicate(), MBB, and MBBI.
|
override |
Definition at line 207 of file Thumb2InstrInfo.cpp.
References llvm::MachineInstrBuilder::add(), llvm::ARMBaseInstrInfo::AddDReg(), llvm::MachineInstrBuilder::addFrameIndex(), llvm::MachineInstrBuilder::addImm(), llvm::MachineInstrBuilder::addMemOperand(), llvm::MachineInstrBuilder::addReg(), llvm::ARMCC::AL, llvm::BuildMI(), llvm::MachineRegisterInfo::constrainRegClass(), llvm::RegState::DefineNoRead, DL, llvm::MachineBasicBlock::end(), get, llvm::MachinePointerInfo::getFixedStack(), llvm::MachineFunction::getFrameInfo(), llvm::MachineFunction::getMachineMemOperand(), llvm::MachineFrameInfo::getObjectAlign(), llvm::MachineFrameInfo::getObjectSize(), llvm::MachineBasicBlock::getParent(), llvm::MachineFunction::getRegInfo(), I, llvm::RegState::ImplicitDefine, llvm::Register::isPhysicalRegister(), llvm::Register::isVirtualRegister(), llvm::ARMBaseInstrInfo::loadRegFromStackSlot(), MBB, llvm::MachineMemOperand::MOLoad, MRI, llvm::predOps(), and TRI.
|
override |
Definition at line 126 of file Thumb2InstrInfo.cpp.
References llvm::MachineInstrBuilder::add(), llvm::BuildMI(), get, llvm::ARMBaseInstrInfo::getSubtarget(), llvm::SmallPtrSetImpl< PtrType >::insert(), llvm::Register::isVirtual(), MI, llvm::ARMBaseInstrInfo::optimizeSelect(), and PreferNoCSEL.
|
override |
Definition at line 62 of file Thumb2InstrInfo.cpp.
References llvm::ARMCC::AL, llvm::MachineBasicBlock::begin(), E, llvm::MachineBasicBlock::eraseFromParent(), llvm::MachineFunction::getInfo(), llvm::getInstrPredicate(), llvm::MachineBasicBlock::getParent(), llvm::ARMFunctionInfo::hasITBlocks(), llvm::BitmaskEnumDetail::Mask(), MBB, MBBI, llvm::TargetInstrInfo::ReplaceTailWithBranchTo(), and llvm::CallingConv::Tail.
|
override |
Definition at line 164 of file Thumb2InstrInfo.cpp.
References llvm::MachineInstrBuilder::add(), llvm::ARMBaseInstrInfo::AddDReg(), llvm::MachineInstrBuilder::addFrameIndex(), llvm::MachineInstrBuilder::addImm(), llvm::MachineInstrBuilder::addMemOperand(), llvm::MachineInstrBuilder::addReg(), llvm::ARMCC::AL, llvm::BuildMI(), llvm::MachineRegisterInfo::constrainRegClass(), DL, llvm::MachineBasicBlock::end(), get, llvm::MachinePointerInfo::getFixedStack(), llvm::MachineFunction::getFrameInfo(), llvm::getKillRegState(), llvm::MachineFunction::getMachineMemOperand(), llvm::MachineFrameInfo::getObjectAlign(), llvm::MachineFrameInfo::getObjectSize(), llvm::MachineBasicBlock::getParent(), llvm::MachineFunction::getRegInfo(), I, llvm::Register::isVirtualRegister(), MBB, llvm::MachineMemOperand::MOStore, MRI, llvm::predOps(), llvm::ARMBaseInstrInfo::storeRegToStackSlot(), and TRI.