LLVM API Documentation

Public Member Functions | Public Attributes
llvm::IntervalPressure Struct Reference

#include <RegisterPressure.h>

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

List of all members.

Public Member Functions

void reset ()
 Clear the result so it can be used for another round of pressure tracking.
void openTop (SlotIndex NextTop)
void openBottom (SlotIndex PrevBottom)
 If the current bottom is not greater than the previous index, open it.

Public Attributes

SlotIndex TopIdx
 Record the boundary of the region being tracked.
SlotIndex BottomIdx

Detailed 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.

Definition at line 65 of file RegisterPressure.h.


Member Function Documentation

If the current bottom is not greater than the previous index, open it.

Definition at line 136 of file RegisterPressure.cpp.

References BottomIdx, llvm::SmallVectorImpl< T >::clear(), and llvm::RegisterPressure::LiveInRegs.

If the current top is not less than or equal to the next index, open it. We happen to need the SlotIndex for the next top for pressure update.

Definition at line 120 of file RegisterPressure.cpp.

References llvm::SmallVectorImpl< T >::clear(), llvm::RegisterPressure::LiveInRegs, and TopIdx.

Clear the result so it can be used for another round of pressure tracking.

Definition at line 103 of file RegisterPressure.cpp.

References BottomIdx, llvm::SmallVectorImpl< T >::clear(), llvm::RegisterPressure::LiveInRegs, llvm::RegisterPressure::LiveOutRegs, llvm::RegisterPressure::MaxSetPressure, and TopIdx.


Member Data Documentation

Definition at line 68 of file RegisterPressure.h.

Referenced by openBottom(), and reset().

Record the boundary of the region being tracked.

Definition at line 67 of file RegisterPressure.h.

Referenced by openTop(), and reset().


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