LLVM 22.0.0git
Public Member Functions | Protected Attributes | List of all members
llvm::SinkAndHoistLICMFlags Class Reference

Flags controlling how much is checked when sinking or hoisting instructions. More...

#include "llvm/Transforms/Utils/LoopUtils.h"

Public Member Functions

LLVM_ABI SinkAndHoistLICMFlags (unsigned LicmMssaOptCap, unsigned LicmMssaNoAccForPromotionCap, bool IsSink, Loop &L, MemorySSA &MSSA)
 
LLVM_ABI SinkAndHoistLICMFlags (bool IsSink, Loop &L, MemorySSA &MSSA)
 
void setIsSink (bool B)
 
bool getIsSink ()
 
bool tooManyMemoryAccesses ()
 
bool tooManyClobberingCalls ()
 
void incrementClobberingCalls ()
 

Protected Attributes

bool NoOfMemAccTooLarge = false
 
unsigned LicmMssaOptCounter = 0
 
unsigned LicmMssaOptCap
 
unsigned LicmMssaNoAccForPromotionCap
 
bool IsSink
 

Detailed Description

Flags controlling how much is checked when sinking or hoisting instructions.

The number of memory access in the loop (and whether there are too many) is determined in the constructors when using MemorySSA.

Definition at line 124 of file LoopUtils.h.

Constructor & Destructor Documentation

◆ SinkAndHoistLICMFlags() [1/2]

llvm::SinkAndHoistLICMFlags::SinkAndHoistLICMFlags ( unsigned  LicmMssaOptCap,
unsigned  LicmMssaNoAccForPromotionCap,
bool  IsSink,
Loop L,
MemorySSA MSSA 
)

◆ SinkAndHoistLICMFlags() [2/2]

llvm::SinkAndHoistLICMFlags::SinkAndHoistLICMFlags ( bool  IsSink,
Loop L,
MemorySSA MSSA 
)

Definition at line 386 of file LICM.cpp.

Member Function Documentation

◆ getIsSink()

bool llvm::SinkAndHoistLICMFlags::getIsSink ( )
inline

Definition at line 134 of file LoopUtils.h.

References IsSink.

◆ incrementClobberingCalls()

void llvm::SinkAndHoistLICMFlags::incrementClobberingCalls ( )
inline

Definition at line 137 of file LoopUtils.h.

References LicmMssaOptCounter.

◆ setIsSink()

void llvm::SinkAndHoistLICMFlags::setIsSink ( bool  B)
inline

Definition at line 133 of file LoopUtils.h.

References B, and IsSink.

◆ tooManyClobberingCalls()

bool llvm::SinkAndHoistLICMFlags::tooManyClobberingCalls ( )
inline

Definition at line 136 of file LoopUtils.h.

References LicmMssaOptCap, and LicmMssaOptCounter.

◆ tooManyMemoryAccesses()

bool llvm::SinkAndHoistLICMFlags::tooManyMemoryAccesses ( )
inline

Definition at line 135 of file LoopUtils.h.

References NoOfMemAccTooLarge.

Member Data Documentation

◆ IsSink

bool llvm::SinkAndHoistLICMFlags::IsSink
protected

Definition at line 144 of file LoopUtils.h.

Referenced by getIsSink(), and setIsSink().

◆ LicmMssaNoAccForPromotionCap

unsigned llvm::SinkAndHoistLICMFlags::LicmMssaNoAccForPromotionCap
protected

Definition at line 143 of file LoopUtils.h.

Referenced by SinkAndHoistLICMFlags().

◆ LicmMssaOptCap

unsigned llvm::SinkAndHoistLICMFlags::LicmMssaOptCap
protected

Definition at line 142 of file LoopUtils.h.

Referenced by tooManyClobberingCalls().

◆ LicmMssaOptCounter

unsigned llvm::SinkAndHoistLICMFlags::LicmMssaOptCounter = 0
protected

Definition at line 141 of file LoopUtils.h.

Referenced by incrementClobberingCalls(), and tooManyClobberingCalls().

◆ NoOfMemAccTooLarge

bool llvm::SinkAndHoistLICMFlags::NoOfMemAccTooLarge = false
protected

Definition at line 140 of file LoopUtils.h.

Referenced by SinkAndHoistLICMFlags(), and tooManyMemoryAccesses().


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