LLVM  16.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"

Collaboration diagram for llvm::SinkAndHoistLICMFlags:
Collaboration graph
[legend]

Public Member Functions

 SinkAndHoistLICMFlags (unsigned LicmMssaOptCap, unsigned LicmMssaNoAccForPromotionCap, bool IsSink, Loop *L=nullptr, MemorySSA *MSSA=nullptr)
 
 SinkAndHoistLICMFlags (bool IsSink, Loop *L=nullptr, MemorySSA *MSSA=nullptr)
 
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 115 of file LoopUtils.h.

Constructor & Destructor Documentation

◆ SinkAndHoistLICMFlags() [1/2]

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

◆ SinkAndHoistLICMFlags() [2/2]

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

Definition at line 357 of file LICM.cpp.

Member Function Documentation

◆ getIsSink()

bool llvm::SinkAndHoistLICMFlags::getIsSink ( )
inline

Definition at line 126 of file LoopUtils.h.

References IsSink.

◆ incrementClobberingCalls()

void llvm::SinkAndHoistLICMFlags::incrementClobberingCalls ( )
inline

Definition at line 129 of file LoopUtils.h.

References LicmMssaOptCounter.

◆ setIsSink()

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

Definition at line 125 of file LoopUtils.h.

References B, and IsSink.

◆ tooManyClobberingCalls()

bool llvm::SinkAndHoistLICMFlags::tooManyClobberingCalls ( )
inline

Definition at line 128 of file LoopUtils.h.

References LicmMssaOptCap, and LicmMssaOptCounter.

◆ tooManyMemoryAccesses()

bool llvm::SinkAndHoistLICMFlags::tooManyMemoryAccesses ( )
inline

Definition at line 127 of file LoopUtils.h.

References NoOfMemAccTooLarge.

Member Data Documentation

◆ IsSink

bool llvm::SinkAndHoistLICMFlags::IsSink
protected

Definition at line 136 of file LoopUtils.h.

Referenced by getIsSink(), and setIsSink().

◆ LicmMssaNoAccForPromotionCap

unsigned llvm::SinkAndHoistLICMFlags::LicmMssaNoAccForPromotionCap
protected

Definition at line 135 of file LoopUtils.h.

Referenced by SinkAndHoistLICMFlags().

◆ LicmMssaOptCap

unsigned llvm::SinkAndHoistLICMFlags::LicmMssaOptCap
protected

Definition at line 134 of file LoopUtils.h.

Referenced by tooManyClobberingCalls().

◆ LicmMssaOptCounter

unsigned llvm::SinkAndHoistLICMFlags::LicmMssaOptCounter = 0
protected

Definition at line 133 of file LoopUtils.h.

Referenced by incrementClobberingCalls(), and tooManyClobberingCalls().

◆ NoOfMemAccTooLarge

bool llvm::SinkAndHoistLICMFlags::NoOfMemAccTooLarge = false
protected

Definition at line 132 of file LoopUtils.h.

Referenced by SinkAndHoistLICMFlags(), and tooManyMemoryAccesses().


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