LLVM 20.0.0git
Public Member Functions | List of all members
llvm::XtensaInstrInfo Class Reference

#include "Target/Xtensa/XtensaInstrInfo.h"

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

Public Member Functions

 XtensaInstrInfo (const XtensaSubtarget &STI)
 
void adjustStackPtr (unsigned SP, int64_t Amount, MachineBasicBlock &MBB, MachineBasicBlock::iterator I) const
 Adjust SP by Amount bytes.
 
const XtensaRegisterInfogetRegisterInfo () const
 
Register isLoadFromStackSlot (const MachineInstr &MI, int &FrameIndex) const override
 
Register isStoreToStackSlot (const MachineInstr &MI, int &FrameIndex) const override
 
void copyPhysReg (MachineBasicBlock &MBB, MachineBasicBlock::iterator MBBI, const DebugLoc &DL, MCRegister DestReg, MCRegister SrcReg, bool KillSrc) const override
 
void storeRegToStackSlot (MachineBasicBlock &MBB, MachineBasicBlock::iterator MBBI, Register SrcReg, bool isKill, int FrameIndex, const TargetRegisterClass *RC, const TargetRegisterInfo *TRI, Register VReg) const override
 
void loadRegFromStackSlot (MachineBasicBlock &MBB, MachineBasicBlock::iterator MBBI, Register DestReg, int FrameIdx, const TargetRegisterClass *RC, const TargetRegisterInfo *TRI, Register VReg) const override
 
void getLoadStoreOpcodes (const TargetRegisterClass *RC, unsigned &LoadOpcode, unsigned &StoreOpcode, int64_t offset) const
 
void loadImmediate (MachineBasicBlock &MBB, MachineBasicBlock::iterator MBBI, unsigned *Reg, int64_t Value) const
 
const XtensaSubtargetgetSubtarget () const
 

Detailed Description

Definition at line 31 of file XtensaInstrInfo.h.

Constructor & Destructor Documentation

◆ XtensaInstrInfo()

XtensaInstrInfo::XtensaInstrInfo ( const XtensaSubtarget STI)

Definition at line 47 of file XtensaInstrInfo.cpp.

Member Function Documentation

◆ adjustStackPtr()

void XtensaInstrInfo::adjustStackPtr ( unsigned  SP,
int64_t  Amount,
MachineBasicBlock MBB,
MachineBasicBlock::iterator  I 
) const

◆ copyPhysReg()

void XtensaInstrInfo::copyPhysReg ( MachineBasicBlock MBB,
MachineBasicBlock::iterator  MBBI,
const DebugLoc DL,
MCRegister  DestReg,
MCRegister  SrcReg,
bool  KillSrc 
) const
override

◆ getLoadStoreOpcodes()

void XtensaInstrInfo::getLoadStoreOpcodes ( const TargetRegisterClass RC,
unsigned LoadOpcode,
unsigned StoreOpcode,
int64_t  offset 
) const

Definition at line 143 of file XtensaInstrInfo.cpp.

References assert().

Referenced by loadRegFromStackSlot(), and storeRegToStackSlot().

◆ getRegisterInfo()

const XtensaRegisterInfo & llvm::XtensaInstrInfo::getRegisterInfo ( ) const
inline

Definition at line 42 of file XtensaInstrInfo.h.

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

◆ getSubtarget()

const XtensaSubtarget & llvm::XtensaInstrInfo::getSubtarget ( ) const
inline

Definition at line 76 of file XtensaInstrInfo.h.

◆ isLoadFromStackSlot()

Register XtensaInstrInfo::isLoadFromStackSlot ( const MachineInstr MI,
int &  FrameIndex 
) const
override

Definition at line 51 of file XtensaInstrInfo.cpp.

References MI.

Referenced by llvm::XtensaFrameLowering::emitEpilogue().

◆ isStoreToStackSlot()

Register XtensaInstrInfo::isStoreToStackSlot ( const MachineInstr MI,
int &  FrameIndex 
) const
override

Definition at line 63 of file XtensaInstrInfo.cpp.

References MI.

Referenced by llvm::XtensaFrameLowering::emitPrologue().

◆ loadImmediate()

void XtensaInstrInfo::loadImmediate ( MachineBasicBlock MBB,
MachineBasicBlock::iterator  MBBI,
unsigned Reg,
int64_t  Value 
) const

◆ loadRegFromStackSlot()

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

◆ storeRegToStackSlot()

void XtensaInstrInfo::storeRegToStackSlot ( MachineBasicBlock MBB,
MachineBasicBlock::iterator  MBBI,
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: