LLVM  14.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 118 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 333 of file LICM.cpp.

Member Function Documentation

◆ getIsSink()

bool llvm::SinkAndHoistLICMFlags::getIsSink ( )
inline

Definition at line 129 of file LoopUtils.h.

References IsSink.

Referenced by llvm::canSinkOrHoistInst(), and pointerInvalidatedByLoopWithMSSA().

◆ incrementClobberingCalls()

void llvm::SinkAndHoistLICMFlags::incrementClobberingCalls ( )
inline

Definition at line 132 of file LoopUtils.h.

References LicmMssaOptCounter.

Referenced by llvm::canSinkOrHoistInst(), and pointerInvalidatedByLoopWithMSSA().

◆ setIsSink()

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

Definition at line 128 of file LoopUtils.h.

References B, and IsSink.

◆ tooManyClobberingCalls()

bool llvm::SinkAndHoistLICMFlags::tooManyClobberingCalls ( )
inline

Definition at line 131 of file LoopUtils.h.

References LicmMssaOptCap, and LicmMssaOptCounter.

Referenced by llvm::canSinkOrHoistInst(), and pointerInvalidatedByLoopWithMSSA().

◆ tooManyMemoryAccesses()

bool llvm::SinkAndHoistLICMFlags::tooManyMemoryAccesses ( )
inline

Definition at line 130 of file LoopUtils.h.

References NoOfMemAccTooLarge.

Referenced by llvm::canSinkOrHoistInst(), and pointerInvalidatedByLoopWithMSSA().

Member Data Documentation

◆ IsSink

bool llvm::SinkAndHoistLICMFlags::IsSink
protected

Definition at line 139 of file LoopUtils.h.

Referenced by getIsSink(), and setIsSink().

◆ LicmMssaNoAccForPromotionCap

unsigned llvm::SinkAndHoistLICMFlags::LicmMssaNoAccForPromotionCap
protected

Definition at line 138 of file LoopUtils.h.

Referenced by SinkAndHoistLICMFlags().

◆ LicmMssaOptCap

unsigned llvm::SinkAndHoistLICMFlags::LicmMssaOptCap
protected

Definition at line 137 of file LoopUtils.h.

Referenced by tooManyClobberingCalls().

◆ LicmMssaOptCounter

unsigned llvm::SinkAndHoistLICMFlags::LicmMssaOptCounter = 0
protected

Definition at line 136 of file LoopUtils.h.

Referenced by incrementClobberingCalls(), and tooManyClobberingCalls().

◆ NoOfMemAccTooLarge

bool llvm::SinkAndHoistLICMFlags::NoOfMemAccTooLarge = false
protected

Definition at line 135 of file LoopUtils.h.

Referenced by SinkAndHoistLICMFlags(), and tooManyMemoryAccesses().


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