LLVM API Documentation
#include <Thumb1InstrInfo.h>
Public Member Functions | |
Thumb1InstrInfo (const ARMSubtarget &STI) | |
void | getNoopForMachoTarget (MCInst &NopInst) const override |
getNoopForMachoTarget - Return the noop instruction to use for a noop. | |
unsigned | getUnindexedOpcode (unsigned Opc) const override |
const Thumb1RegisterInfo & | getRegisterInfo () const override |
void | copyPhysReg (MachineBasicBlock &MBB, MachineBasicBlock::iterator I, DebugLoc DL, unsigned DestReg, unsigned SrcReg, bool KillSrc) const override |
void | storeRegToStackSlot (MachineBasicBlock &MBB, MachineBasicBlock::iterator MBBI, unsigned SrcReg, bool isKill, int FrameIndex, const TargetRegisterClass *RC, const TargetRegisterInfo *TRI) const override |
void | loadRegFromStackSlot (MachineBasicBlock &MBB, MachineBasicBlock::iterator MBBI, unsigned DestReg, int FrameIndex, const TargetRegisterClass *RC, const TargetRegisterInfo *TRI) const override |
Definition at line 23 of file Thumb1InstrInfo.h.
Thumb1InstrInfo::Thumb1InstrInfo | ( | const ARMSubtarget & | STI | ) | [explicit] |
Definition at line 24 of file Thumb1InstrInfo.cpp.
void Thumb1InstrInfo::copyPhysReg | ( | MachineBasicBlock & | MBB, |
MachineBasicBlock::iterator | I, | ||
DebugLoc | DL, | ||
unsigned | DestReg, | ||
unsigned | SrcReg, | ||
bool | KillSrc | ||
) | const [override] |
Reimplemented from llvm::ARMBaseInstrInfo.
Definition at line 41 of file Thumb1InstrInfo.cpp.
References llvm::AddDefaultPred(), llvm::MachineInstrBuilder::addReg(), llvm::BuildMI(), contains(), llvm::getDefRegState(), llvm::getKillRegState(), llvm::MachineBasicBlock::getParent(), llvm::TargetMachine::getSubtarget(), llvm::MachineFunction::getTarget(), and llvm::ARMSubtarget::hasV6Ops().
void Thumb1InstrInfo::getNoopForMachoTarget | ( | MCInst & | NopInst | ) | const [override] |
getNoopForMachoTarget - Return the noop instruction to use for a noop.
Definition at line 29 of file Thumb1InstrInfo.cpp.
References llvm::MCInst::addOperand(), llvm::ARMCC::AL, llvm::MCOperand::CreateImm(), llvm::MCOperand::CreateReg(), and llvm::MCInst::setOpcode().
const Thumb1RegisterInfo& llvm::Thumb1InstrInfo::getRegisterInfo | ( | ) | const [inline, override, virtual] |
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.
unsigned Thumb1InstrInfo::getUnindexedOpcode | ( | unsigned | Opc | ) | const [override, virtual] |
Implements llvm::ARMBaseInstrInfo.
Definition at line 37 of file Thumb1InstrInfo.cpp.
void Thumb1InstrInfo::loadRegFromStackSlot | ( | MachineBasicBlock & | MBB, |
MachineBasicBlock::iterator | MBBI, | ||
unsigned | DestReg, | ||
int | FrameIndex, | ||
const TargetRegisterClass * | RC, | ||
const TargetRegisterInfo * | TRI | ||
) | const [override] |
Reimplemented from llvm::ARMBaseInstrInfo.
Definition at line 100 of file Thumb1InstrInfo.cpp.
References llvm::AddDefaultPred(), llvm::BuildMI(), llvm::MachineBasicBlock::end(), llvm::MachinePointerInfo::getFixedStack(), llvm::MachineFunction::getFrameInfo(), llvm::MachineFunction::getMachineMemOperand(), llvm::MachineFrameInfo::getObjectAlignment(), llvm::MachineFrameInfo::getObjectSize(), llvm::MachineBasicBlock::getParent(), llvm::isARMLowRegister(), llvm::TargetRegisterInfo::isPhysicalRegister(), and llvm::MachineMemOperand::MOLoad.
void Thumb1InstrInfo::storeRegToStackSlot | ( | MachineBasicBlock & | MBB, |
MachineBasicBlock::iterator | MBBI, | ||
unsigned | SrcReg, | ||
bool | isKill, | ||
int | FrameIndex, | ||
const TargetRegisterClass * | RC, | ||
const TargetRegisterInfo * | TRI | ||
) | const [override] |
Reimplemented from llvm::ARMBaseInstrInfo.
Definition at line 72 of file Thumb1InstrInfo.cpp.
References llvm::AddDefaultPred(), 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(), and llvm::MachineMemOperand::MOStore.