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

#include "Target/MSP430/MSP430InstrInfo.h"

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

Public Member Functions

 MSP430InstrInfo (MSP430Subtarget &STI)
 
const TargetRegisterInfogetRegisterInfo () const
 getRegisterInfo - TargetInstrInfo is a superset of MRegister info. More...
 
void copyPhysReg (MachineBasicBlock &MBB, MachineBasicBlock::iterator I, const DebugLoc &DL, unsigned DestReg, unsigned SrcReg, bool KillSrc) const override
 
void storeRegToStackSlot (MachineBasicBlock &MBB, MachineBasicBlock::iterator MI, unsigned SrcReg, bool isKill, int FrameIndex, const TargetRegisterClass *RC, const TargetRegisterInfo *TRI) const override
 
void loadRegFromStackSlot (MachineBasicBlock &MBB, MachineBasicBlock::iterator MI, unsigned DestReg, int FrameIdx, const TargetRegisterClass *RC, const TargetRegisterInfo *TRI) const override
 
unsigned getInstSizeInBytes (const MachineInstr &MI) const override
 GetInstSize - Return the number of bytes of code the specified instruction may be. More...
 
bool reverseBranchCondition (SmallVectorImpl< MachineOperand > &Cond) const override
 
bool isUnpredicatedTerminator (const MachineInstr &MI) 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 27 of file MSP430InstrInfo.h.

Constructor & Destructor Documentation

◆ MSP430InstrInfo()

MSP430InstrInfo::MSP430InstrInfo ( MSP430Subtarget STI)
explicit

Definition at line 33 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,
unsigned  DestReg,
unsigned  SrcReg,
bool  KillSrc 
) const
override

◆ getFramePoppedByCallee()

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

◆ getInstSizeInBytes()

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

◆ getRegisterInfo()

const TargetRegisterInfo& 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 37 of file MSP430InstrInfo.h.

References analyzeBranch(), copyPhysReg(), llvm::ISD::FrameIndex, getInstSizeInBytes(), I, insertBranch(), isUnpredicatedTerminator(), loadRegFromStackSlot(), MI, removeBranch(), reverseBranchCondition(), storeRegToStackSlot(), and TRI.

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

◆ isUnpredicatedTerminator()

bool MSP430InstrInfo::isUnpredicatedTerminator ( const MachineInstr MI) const
override

◆ loadRegFromStackSlot()

void MSP430InstrInfo::loadRegFromStackSlot ( MachineBasicBlock MBB,
MachineBasicBlock::iterator  MI,
unsigned  DestReg,
int  FrameIdx,
const TargetRegisterClass RC,
const TargetRegisterInfo TRI 
) 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,
unsigned  SrcReg,
bool  isKill,
int  FrameIndex,
const TargetRegisterClass RC,
const TargetRegisterInfo TRI 
) const
override

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