LLVM 19.0.0git
Public Member Functions | List of all members
llvm::MSP430InstrInfo Class Reference

#include "Target/MSP430/MSP430InstrInfo.h"

Inheritance diagram for llvm::MSP430InstrInfo:
Inheritance graph
[legend]

Public Member Functions

 MSP430InstrInfo (MSP430Subtarget &STI)
 
const MSP430RegisterInfogetRegisterInfo () const
 getRegisterInfo - TargetInstrInfo is a superset of MRegister info.
 
void copyPhysReg (MachineBasicBlock &MBB, MachineBasicBlock::iterator I, const DebugLoc &DL, MCRegister DestReg, MCRegister SrcReg, bool KillSrc) const override
 
void storeRegToStackSlot (MachineBasicBlock &MBB, MachineBasicBlock::iterator MI, Register SrcReg, bool isKill, int FrameIndex, const TargetRegisterClass *RC, const TargetRegisterInfo *TRI, Register VReg) const override
 
void loadRegFromStackSlot (MachineBasicBlock &MBB, MachineBasicBlock::iterator MI, Register DestReg, int FrameIdx, const TargetRegisterClass *RC, const TargetRegisterInfo *TRI, Register VReg) 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 ( MSP430Subtarget STI)
explicit

Definition at line 32 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,
MCRegister  DestReg,
MCRegister  SrcReg,
bool  KillSrc 
) 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.

Referenced by llvm::MSP430FrameLowering::eliminateCallFramePseudoInstr().

◆ 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 288 of file MSP430InstrInfo.cpp.

References llvm::HexagonInstrInfo::getInlineAsmLength(), 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()

void MSP430InstrInfo::loadRegFromStackSlot ( MachineBasicBlock MBB,
MachineBasicBlock::iterator  MI,
Register  DestReg,
int  FrameIdx,
const TargetRegisterClass RC,
const TargetRegisterInfo TRI,
Register  VReg 
) const
override

◆ removeBranch()

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

◆ reverseBranchCondition()

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

◆ storeRegToStackSlot()

void MSP430InstrInfo::storeRegToStackSlot ( MachineBasicBlock MBB,
MachineBasicBlock::iterator  MI,
Register  SrcReg,
bool  isKill,
int  FrameIndex,
const TargetRegisterClass RC,
const TargetRegisterInfo TRI,
Register  VReg 
) const
override

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