LLVM 22.0.0git
llvm::AVRRegisterInfo Class Reference

Utilities relating to AVR registers. More...

#include "Target/AVR/AVRRegisterInfo.h"

Inheritance diagram for llvm::AVRRegisterInfo:
[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 (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 32 of file AVRRegisterInfo.cpp.

Member Function Documentation

◆ eliminateFrameIndex()

◆ 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 47 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 ( unsigned Kind = 0) const
override

Definition at line 292 of file AVRRegisterInfo.cpp.

◆ getReservedRegs()

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

Definition at line 53 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 299 of file AVRRegisterInfo.cpp.

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

Referenced by eliminateFrameIndex().


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