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

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 ( )

Definition at line 126 of file LoopUtils.h.

References IsSink.

◆ incrementClobberingCalls()

void llvm::SinkAndHoistLICMFlags::incrementClobberingCalls ( )

Definition at line 129 of file LoopUtils.h.

References LicmMssaOptCounter.

◆ setIsSink()

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

Definition at line 125 of file LoopUtils.h.

References B, and IsSink.

◆ tooManyClobberingCalls()

bool llvm::SinkAndHoistLICMFlags::tooManyClobberingCalls ( )

Definition at line 128 of file LoopUtils.h.

References LicmMssaOptCap, and LicmMssaOptCounter.

◆ tooManyMemoryAccesses()

bool llvm::SinkAndHoistLICMFlags::tooManyMemoryAccesses ( )

Definition at line 127 of file LoopUtils.h.

References NoOfMemAccTooLarge.

Member Data Documentation

◆ IsSink

bool llvm::SinkAndHoistLICMFlags::IsSink

Definition at line 136 of file LoopUtils.h.

Referenced by getIsSink(), and setIsSink().

◆ LicmMssaNoAccForPromotionCap

unsigned llvm::SinkAndHoistLICMFlags::LicmMssaNoAccForPromotionCap

Definition at line 135 of file LoopUtils.h.

Referenced by SinkAndHoistLICMFlags().

◆ LicmMssaOptCap

unsigned llvm::SinkAndHoistLICMFlags::LicmMssaOptCap

Definition at line 134 of file LoopUtils.h.

Referenced by tooManyClobberingCalls().

◆ LicmMssaOptCounter

unsigned llvm::SinkAndHoistLICMFlags::LicmMssaOptCounter = 0

Definition at line 133 of file LoopUtils.h.

Referenced by incrementClobberingCalls(), and tooManyClobberingCalls().

◆ NoOfMemAccTooLarge

bool llvm::SinkAndHoistLICMFlags::NoOfMemAccTooLarge = false

Definition at line 132 of file LoopUtils.h.

Referenced by SinkAndHoistLICMFlags(), and tooManyMemoryAccesses().

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