LLVM
8.0.1
|
#include "Target/ARM/Thumb1InstrInfo.h"
Additional Inherited Members | |
Static Public Member Functions inherited from llvm::ARMBaseInstrInfo | |
static bool | isCPSRDefined (const MachineInstr &MI) |
Protected Member Functions inherited from llvm::ARMBaseInstrInfo | |
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... | |
bool | isCopyInstrImpl (const MachineInstr &MI, const MachineOperand *&Source, const MachineOperand *&Destination) const override |
If the specific machine instruction is a instruction that moves/copies value from one register to another register return true along with machine operand and machine operand. More... | |
Definition at line 23 of file Thumb1InstrInfo.h.
|
explicit |
Definition at line 23 of file Thumb1InstrInfo.cpp.
Definition at line 145 of file Thumb1InstrInfo.cpp.
References llvm::SDNode::getMachineOpcode().
Referenced by getRegisterInfo().
|
override |
Definition at line 39 of file Thumb1InstrInfo.cpp.
References llvm::ARM_AM::add, llvm::MachineInstrBuilder::add(), llvm::MachineInstrBuilder::addReg(), llvm::MachineInstr::addRegisterDead(), llvm::ARMCC::AL, assert(), llvm::BuildMI(), llvm::MachineBasicBlock::computeRegisterLiveness(), contains(), llvm::getDefRegState(), llvm::getKillRegState(), llvm::MachineBasicBlock::getParent(), llvm::ARMSubtarget::getRegisterInfo(), llvm::MachineFunction::getSubtarget(), llvm::ARMSubtarget::hasV6Ops(), llvm::MachineBasicBlock::LQR_Dead, llvm::predOps(), and storeRegToStackSlot().
Referenced by getRegisterInfo().
|
override |
Return the noop instruction to use for a noop.
Definition at line 27 of file Thumb1InstrInfo.cpp.
References llvm::MCInst::addOperand(), llvm::ARMCC::AL, llvm::MCOperand::createImm(), llvm::MCOperand::createReg(), and llvm::MCInst::setOpcode().
|
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 39 of file Thumb1InstrInfo.h.
References canCopyGluedNodeDuringSchedule(), copyPhysReg(), llvm::ISD::FrameIndex, I, loadRegFromStackSlot(), MI, N, storeRegToStackSlot(), and TRI.
Implements llvm::ARMBaseInstrInfo.
Definition at line 35 of file Thumb1InstrInfo.cpp.
|
override |
Definition at line 108 of file Thumb1InstrInfo.cpp.
References llvm::MachineInstrBuilder::add(), llvm::MachineInstrBuilder::addFrameIndex(), llvm::MachineInstrBuilder::addImm(), llvm::MachineInstrBuilder::addMemOperand(), llvm::ARMCC::AL, assert(), llvm::BuildMI(), llvm::MachineBasicBlock::end(), llvm::ARMBaseInstrInfo::expandLoadStackGuardBase(), llvm::MachinePointerInfo::getFixedStack(), llvm::MachineFunction::getFrameInfo(), llvm::MachineFunction::getMachineMemOperand(), llvm::MachineFrameInfo::getObjectAlignment(), llvm::MachineFrameInfo::getObjectSize(), llvm::MachineBasicBlock::getParent(), llvm::MachineFunction::getTarget(), llvm::TargetRegisterClass::hasSuperClassEq(), llvm::isARMLowRegister(), llvm::TargetRegisterInfo::isPhysicalRegister(), llvm::TargetMachine::isPositionIndependent(), MI, llvm::MachineMemOperand::MOLoad, llvm::predOps(), and llvm::SystemZISD::TM.
Referenced by getRegisterInfo(), and storeRegToStackSlot().
|
override |
Definition at line 79 of file Thumb1InstrInfo.cpp.
References llvm::MachineInstrBuilder::add(), llvm::MachineInstrBuilder::addFrameIndex(), llvm::MachineInstrBuilder::addImm(), llvm::MachineInstrBuilder::addMemOperand(), llvm::MachineInstrBuilder::addReg(), llvm::ARMCC::AL, assert(), llvm::BuildMI(), llvm::MachineBasicBlock::end(), llvm::MachinePointerInfo::getFixedStack(), llvm::MachineFunction::getFrameInfo(), llvm::getKillRegState(), llvm::MachineFunction::getMachineMemOperand(), llvm::MachineFrameInfo::getObjectAlignment(), llvm::MachineFrameInfo::getObjectSize(), llvm::MachineBasicBlock::getParent(), llvm::isARMLowRegister(), llvm::TargetRegisterInfo::isPhysicalRegister(), loadRegFromStackSlot(), llvm::MachineMemOperand::MOStore, and llvm::predOps().
Referenced by copyPhysReg(), and getRegisterInfo().