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

#include "Target/SystemZ/SystemZRegisterInfo.h"

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

Public Member Functions

 SystemZRegisterInfo ()
 
const TargetRegisterClassgetPointerRegClass (const MachineFunction &MF, unsigned Kind=0) const override
 getPointerRegClass - Return the register class to use to hold pointers. More...
 
const TargetRegisterClassgetCrossCopyRegClass (const TargetRegisterClass *RC) const override
 getCrossCopyRegClass - Returns a legal register class to copy a register in the specified class to or from. More...
 
bool getRegAllocationHints (unsigned 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
 
bool trackLivenessAfterRegAlloc (const MachineFunction &MF) const override
 
const MCPhysReggetCalleeSavedRegs (const MachineFunction *MF) const override
 
const uint32_tgetCallPreservedMask (const MachineFunction &MF, CallingConv::ID CC) const override
 
BitVector getReservedRegs (const MachineFunction &MF) const override
 
void 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. More...
 
unsigned getFrameRegister (const MachineFunction &MF) const override
 

Detailed Description

Definition at line 34 of file SystemZRegisterInfo.h.

Constructor & Destructor Documentation

◆ SystemZRegisterInfo()

SystemZRegisterInfo::SystemZRegisterInfo ( )

Definition at line 25 of file SystemZRegisterInfo.cpp.

Member Function Documentation

◆ eliminateFrameIndex()

void 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 338 of file SystemZRegisterInfo.cpp.

◆ getFrameRegister()

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

Definition at line 332 of file SystemZRegisterInfo.cpp.

References llvm::SystemZFrameLowering::hasFP().

◆ 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 42 of file SystemZRegisterInfo.h.

References Matrix.

◆ getRegAllocationHints()

bool SystemZRegisterInfo::getRegAllocationHints ( unsigned  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 64 of file SystemZRegisterInfo.h.

◆ requiresRegisterScavenging()

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

Definition at line 61 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

◆ trackLivenessAfterRegAlloc()

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

Definition at line 67 of file SystemZRegisterInfo.h.

References MI, and SubReg.


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