LLVM 22.0.0git
llvm::MSP430InstrInfo Class Reference

#include "Target/MSP430/MSP430InstrInfo.h"

Inheritance diagram for llvm::MSP430InstrInfo:
[legend]

Public Member Functions

 MSP430InstrInfo (const MSP430Subtarget &STI)
const MSP430RegisterInfogetRegisterInfo () const
 getRegisterInfo - TargetInstrInfo is a superset of MRegister info.
void copyPhysReg (MachineBasicBlock &MBB, MachineBasicBlock::iterator I, const DebugLoc &DL, Register DestReg, Register SrcReg, bool KillSrc, bool RenamableDest=false, bool RenamableSrc=false) const override
void storeRegToStackSlot (MachineBasicBlock &MBB, MachineBasicBlock::iterator MI, Register SrcReg, bool isKill, int FrameIndex, const TargetRegisterClass *RC, const TargetRegisterInfo *TRI, Register VReg, MachineInstr::MIFlag Flags=MachineInstr::NoFlags) const override
void loadRegFromStackSlot (MachineBasicBlock &MBB, MachineBasicBlock::iterator MI, Register DestReg, int FrameIdx, const TargetRegisterClass *RC, const TargetRegisterInfo *TRI, Register VReg, MachineInstr::MIFlag Flags=MachineInstr::NoFlags) const override
unsigned getInstSizeInBytes (const MachineInstr &MI) const override
 GetInstSize - Return the number of bytes of code the specified instruction may be.
bool reverseBranchCondition (SmallVectorImpl< MachineOperand > &Cond) const override
bool analyzeBranch (MachineBasicBlock &MBB, MachineBasicBlock *&TBB, MachineBasicBlock *&FBB, SmallVectorImpl< MachineOperand > &Cond, bool AllowModify) const override
unsigned removeBranch (MachineBasicBlock &MBB, int *BytesRemoved=nullptr) const override
unsigned insertBranch (MachineBasicBlock &MBB, MachineBasicBlock *TBB, MachineBasicBlock *FBB, ArrayRef< MachineOperand > Cond, const DebugLoc &DL, int *BytesAdded=nullptr) const override
int64_t getFramePoppedByCallee (const MachineInstr &I) const

Detailed Description

Definition at line 26 of file MSP430InstrInfo.h.

Constructor & Destructor Documentation

◆ MSP430InstrInfo()

MSP430InstrInfo::MSP430InstrInfo ( const MSP430Subtarget & STI)
explicit

Definition at line 28 of file MSP430InstrInfo.cpp.

Member Function Documentation

◆ analyzeBranch()

bool MSP430InstrInfo::analyzeBranch ( MachineBasicBlock & MBB,
MachineBasicBlock *& TBB,
MachineBasicBlock *& FBB,
SmallVectorImpl< MachineOperand > & Cond,
bool AllowModify ) const
override

◆ copyPhysReg()

void MSP430InstrInfo::copyPhysReg ( MachineBasicBlock & MBB,
MachineBasicBlock::iterator I,
const DebugLoc & DL,
Register DestReg,
Register SrcReg,
bool KillSrc,
bool RenamableDest = false,
bool RenamableSrc = false ) const
override

◆ getFramePoppedByCallee()

int64_t llvm::MSP430InstrInfo::getFramePoppedByCallee ( const MachineInstr & I) const
inline

Definition at line 71 of file MSP430InstrInfo.h.

References assert(), and I.

◆ getInstSizeInBytes()

unsigned MSP430InstrInfo::getInstSizeInBytes ( const MachineInstr & MI) const
override

GetInstSize - Return the number of bytes of code the specified instruction may be.

This returns the maximum number of bytes.

Definition at line 284 of file MSP430InstrInfo.cpp.

References llvm::TargetSubtargetInfo::getInstrInfo(), llvm::TargetMachine::getMCAsmInfo(), llvm::MachineFunction::getSubtarget(), llvm::MachineFunction::getTarget(), MI, and TII.

◆ getRegisterInfo()

const MSP430RegisterInfo & llvm::MSP430InstrInfo::getRegisterInfo ( ) const
inline

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).

Definition at line 36 of file MSP430InstrInfo.h.

Referenced by llvm::MSP430Subtarget::getRegisterInfo().

◆ insertBranch()

unsigned MSP430InstrInfo::insertBranch ( MachineBasicBlock & MBB,
MachineBasicBlock * TBB,
MachineBasicBlock * FBB,
ArrayRef< MachineOperand > Cond,
const DebugLoc & DL,
int * BytesAdded = nullptr ) const
override

◆ loadRegFromStackSlot()

◆ removeBranch()

unsigned MSP430InstrInfo::removeBranch ( MachineBasicBlock & MBB,
int * BytesRemoved = nullptr ) const
override

Definition at line 102 of file MSP430InstrInfo.cpp.

References assert(), llvm::Count, I, and MBB.

◆ reverseBranchCondition()

bool MSP430InstrInfo::reverseBranchCondition ( SmallVectorImpl< MachineOperand > & Cond) const
override

◆ storeRegToStackSlot()


The documentation for this class was generated from the following files: