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

Utilities relating to AVR registers. More...

#include "Target/AVR/AVRRegisterInfo.h"

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

Public Member Functions

 AVRRegisterInfo ()
 
const uint16_tgetCalleeSavedRegs (const MachineFunction *MF=nullptr) const override
 
const uint32_tgetCallPreservedMask (const MachineFunction &MF, CallingConv::ID CC) const override
 
BitVector getReservedRegs (const MachineFunction &MF) const override
 
const TargetRegisterClassgetLargestLegalSuperClass (const TargetRegisterClass *RC, const MachineFunction &MF) const override
 
bool eliminateFrameIndex (MachineBasicBlock::iterator MI, int SPAdj, unsigned FIOperandNum, RegScavenger *RS=nullptr) const override
 Stack Frame Processing Methods.
 
Register getFrameRegister (const MachineFunction &MF) const override
 
const TargetRegisterClassgetPointerRegClass (const MachineFunction &MF, unsigned Kind=0) const override
 
void splitReg (Register Reg, Register &LoReg, Register &HiReg) const
 Splits a 16-bit DREGS register into the lo/hi register pair.
 
bool shouldCoalesce (MachineInstr *MI, const TargetRegisterClass *SrcRC, unsigned SubReg, const TargetRegisterClass *DstRC, unsigned DstSubReg, const TargetRegisterClass *NewRC, LiveIntervals &LIS) const override
 

Detailed Description

Utilities relating to AVR registers.

Definition at line 24 of file AVRRegisterInfo.h.

Constructor & Destructor Documentation

◆ AVRRegisterInfo()

llvm::AVRRegisterInfo::AVRRegisterInfo ( )

Definition at line 34 of file AVRRegisterInfo.cpp.

Member Function Documentation

◆ eliminateFrameIndex()

bool llvm::AVRRegisterInfo::eliminateFrameIndex ( MachineBasicBlock::iterator  MI,
int  SPAdj,
unsigned  FIOperandNum,
RegScavenger RS = nullptr 
) const
override

◆ getCalleeSavedRegs()

const uint16_t * llvm::AVRRegisterInfo::getCalleeSavedRegs ( const MachineFunction MF = nullptr) const
override

◆ getCallPreservedMask()

const uint32_t * llvm::AVRRegisterInfo::getCallPreservedMask ( const MachineFunction MF,
CallingConv::ID  CC 
) const
override

Definition at line 49 of file AVRRegisterInfo.cpp.

References llvm::MachineFunction::getSubtarget().

◆ getFrameRegister()

Register llvm::AVRRegisterInfo::getFrameRegister ( const MachineFunction MF) const
override

◆ getLargestLegalSuperClass()

const TargetRegisterClass * llvm::AVRRegisterInfo::getLargestLegalSuperClass ( const TargetRegisterClass RC,
const MachineFunction MF 
) const
override

◆ getPointerRegClass()

const TargetRegisterClass * llvm::AVRRegisterInfo::getPointerRegClass ( const MachineFunction MF,
unsigned  Kind = 0 
) const
override

Definition at line 297 of file AVRRegisterInfo.cpp.

◆ getReservedRegs()

BitVector llvm::AVRRegisterInfo::getReservedRegs ( const MachineFunction MF) const
override

Definition at line 55 of file AVRRegisterInfo.cpp.

References llvm::MachineFunction::getSubtarget(), Reg, and llvm::Reserved.

◆ shouldCoalesce()

bool llvm::AVRRegisterInfo::shouldCoalesce ( MachineInstr MI,
const TargetRegisterClass SrcRC,
unsigned  SubReg,
const TargetRegisterClass DstRC,
unsigned  DstSubReg,
const TargetRegisterClass NewRC,
LiveIntervals LIS 
) const
override

◆ splitReg()

void llvm::AVRRegisterInfo::splitReg ( Register  Reg,
Register LoReg,
Register HiReg 
) const

Splits a 16-bit DREGS register into the lo/hi register pair.

Parameters
RegA 16-bit register to split.

Definition at line 305 of file AVRRegisterInfo.cpp.

References assert(), contains(), and Reg.

Referenced by eliminateFrameIndex().


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