struct IntervalPressure

Declaration

struct IntervalPressure : public RegisterPressure { /* full declaration omitted */ };

Description

RegisterPressure computed within a region of instructions delimited by TopIdx and BottomIdx. During pressure computation, the maximum pressure per register pressure set is increased. Once pressure within a region is fully computed, the live-in and live-out sets are recorded. This is preferable to RegionPressure when LiveIntervals are available, because delimiting regions by SlotIndex is more robust and convenient than holding block iterators. The block contents can change without invalidating the pressure result.

Declared at: llvm/include/llvm/CodeGen/RegisterPressure.h:67

Inherits from: RegisterPressure

Member Variables

public llvm::SlotIndex TopIdx
Record the boundary of the region being tracked.
public llvm::SlotIndex BottomIdx

Inherited from RegisterPressure:

public MaxSetPressure
public LiveInRegs
public LiveOutRegs

Method Overview

  • public void openBottom(llvm::SlotIndex PrevBottom)
  • public void openTop(llvm::SlotIndex NextTop)
  • public void reset()

Inherited from RegisterPressure:

Methods

void openBottom(llvm::SlotIndex PrevBottom)

Declared at: llvm/include/llvm/CodeGen/RegisterPressure.h:76

Parameters

llvm::SlotIndex PrevBottom

void openTop(llvm::SlotIndex NextTop)

Declared at: llvm/include/llvm/CodeGen/RegisterPressure.h:74

Parameters

llvm::SlotIndex NextTop

void reset()

Declared at: llvm/include/llvm/CodeGen/RegisterPressure.h:72