LLVM 17.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

 SinkAndHoistLICMFlags (unsigned LicmMssaOptCap, unsigned LicmMssaNoAccForPromotionCap, bool IsSink, Loop &L, MemorySSA &MSSA)
 
 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 113 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 370 of file LICM.cpp.

Member Function Documentation

◆ getIsSink()

bool llvm::SinkAndHoistLICMFlags::getIsSink ( )
inline

Definition at line 123 of file LoopUtils.h.

References IsSink.

◆ incrementClobberingCalls()

void llvm::SinkAndHoistLICMFlags::incrementClobberingCalls ( )
inline

Definition at line 126 of file LoopUtils.h.

References LicmMssaOptCounter.

◆ setIsSink()

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

Definition at line 122 of file LoopUtils.h.

References B, and IsSink.

◆ tooManyClobberingCalls()

bool llvm::SinkAndHoistLICMFlags::tooManyClobberingCalls ( )
inline

Definition at line 125 of file LoopUtils.h.

References LicmMssaOptCap, and LicmMssaOptCounter.

◆ tooManyMemoryAccesses()

bool llvm::SinkAndHoistLICMFlags::tooManyMemoryAccesses ( )
inline

Definition at line 124 of file LoopUtils.h.

References NoOfMemAccTooLarge.

Member Data Documentation

◆ IsSink

bool llvm::SinkAndHoistLICMFlags::IsSink
protected

Definition at line 133 of file LoopUtils.h.

Referenced by getIsSink(), and setIsSink().

◆ LicmMssaNoAccForPromotionCap

unsigned llvm::SinkAndHoistLICMFlags::LicmMssaNoAccForPromotionCap
protected

Definition at line 132 of file LoopUtils.h.

Referenced by SinkAndHoistLICMFlags().

◆ LicmMssaOptCap

unsigned llvm::SinkAndHoistLICMFlags::LicmMssaOptCap
protected

Definition at line 131 of file LoopUtils.h.

Referenced by tooManyClobberingCalls().

◆ LicmMssaOptCounter

unsigned llvm::SinkAndHoistLICMFlags::LicmMssaOptCounter = 0
protected

Definition at line 130 of file LoopUtils.h.

Referenced by incrementClobberingCalls(), and tooManyClobberingCalls().

◆ NoOfMemAccTooLarge

bool llvm::SinkAndHoistLICMFlags::NoOfMemAccTooLarge = false
protected

Definition at line 129 of file LoopUtils.h.

Referenced by SinkAndHoistLICMFlags(), and tooManyMemoryAccesses().


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