LLVM 20.0.0git
Public Member Functions | List of all members
llvm::SystemZRegisterInfo Struct Reference

#include "Target/SystemZ/SystemZRegisterInfo.h"

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

Public Member Functions

 SystemZRegisterInfo (unsigned int RA)
 
const TargetRegisterClassgetPointerRegClass (const MachineFunction &MF, unsigned Kind=0) const override
 getPointerRegClass - Return the register class to use to hold pointers.
 
const TargetRegisterClassgetCrossCopyRegClass (const TargetRegisterClass *RC) const override
 getCrossCopyRegClass - Returns a legal register class to copy a register in the specified class to or from.
 
bool getRegAllocationHints (Register VirtReg, ArrayRef< MCPhysReg > Order, SmallVectorImpl< MCPhysReg > &Hints, const MachineFunction &MF, const VirtRegMap *VRM, const LiveRegMatrix *Matrix) const override
 
bool requiresRegisterScavenging (const MachineFunction &MF) const override
 
bool requiresFrameIndexScavenging (const MachineFunction &MF) const override
 
const MCPhysReggetCalleeSavedRegs (const MachineFunction *MF) const override
 
const uint32_tgetCallPreservedMask (const MachineFunction &MF, CallingConv::ID CC) const override
 
const uint32_tgetNoPreservedMask () const override
 
BitVector getReservedRegs (const MachineFunction &MF) const override
 
bool eliminateFrameIndex (MachineBasicBlock::iterator MI, int SPAdj, unsigned FIOperandNum, RegScavenger *RS) const override
 
bool shouldCoalesce (MachineInstr *MI, const TargetRegisterClass *SrcRC, unsigned SubReg, const TargetRegisterClass *DstRC, unsigned DstSubReg, const TargetRegisterClass *NewRC, LiveIntervals &LIS) const override
 SrcRC and DstRC will be morphed into NewRC if this returns true.
 
Register getFrameRegister (const MachineFunction &MF) const override
 

Detailed Description

Definition at line 130 of file SystemZRegisterInfo.h.

Constructor & Destructor Documentation

◆ SystemZRegisterInfo()

SystemZRegisterInfo::SystemZRegisterInfo ( unsigned int  RA)

Definition at line 236 of file SystemZRegisterInfo.cpp.

Member Function Documentation

◆ eliminateFrameIndex()

bool SystemZRegisterInfo::eliminateFrameIndex ( MachineBasicBlock::iterator  MI,
int  SPAdj,
unsigned  FIOperandNum,
RegScavenger RS 
) const
override

◆ getCalleeSavedRegs()

const MCPhysReg * SystemZRegisterInfo::getCalleeSavedRegs ( const MachineFunction MF) const
override

◆ getCallPreservedMask()

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

◆ getCrossCopyRegClass()

const TargetRegisterClass * SystemZRegisterInfo::getCrossCopyRegClass ( const TargetRegisterClass RC) const
override

getCrossCopyRegClass - Returns a legal register class to copy a register in the specified class to or from.

Returns NULL if it is possible to copy between a two registers of the specified class.

Definition at line 446 of file SystemZRegisterInfo.cpp.

◆ getFrameRegister()

Register SystemZRegisterInfo::getFrameRegister ( const MachineFunction MF) const
override

◆ getNoPreservedMask()

const uint32_t * SystemZRegisterInfo::getNoPreservedMask ( ) const
override

◆ getPointerRegClass()

const TargetRegisterClass * llvm::SystemZRegisterInfo::getPointerRegClass ( const MachineFunction MF,
unsigned  Kind = 0 
) const
inlineoverride

getPointerRegClass - Return the register class to use to hold pointers.

This is currently only used by LOAD_STACK_GUARD, which requires a non-r0 register, hence ADDR64.

Definition at line 138 of file SystemZRegisterInfo.h.

◆ getRegAllocationHints()

bool SystemZRegisterInfo::getRegAllocationHints ( Register  VirtReg,
ArrayRef< MCPhysReg Order,
SmallVectorImpl< MCPhysReg > &  Hints,
const MachineFunction MF,
const VirtRegMap VRM,
const LiveRegMatrix Matrix 
) const
override

◆ getReservedRegs()

BitVector SystemZRegisterInfo::getReservedRegs ( const MachineFunction MF) const
override

◆ requiresFrameIndexScavenging()

bool llvm::SystemZRegisterInfo::requiresFrameIndexScavenging ( const MachineFunction MF) const
inlineoverride

Definition at line 158 of file SystemZRegisterInfo.h.

◆ requiresRegisterScavenging()

bool llvm::SystemZRegisterInfo::requiresRegisterScavenging ( const MachineFunction MF) const
inlineoverride

Definition at line 155 of file SystemZRegisterInfo.h.

◆ shouldCoalesce()

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

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