LLVM
15.0.0git
|
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=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 |
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.
llvm::SinkAndHoistLICMFlags::SinkAndHoistLICMFlags | ( | unsigned | LicmMssaOptCap, |
unsigned | LicmMssaNoAccForPromotionCap, | ||
bool | IsSink, | ||
Loop * | L = nullptr , |
||
MemorySSA * | MSSA = nullptr |
||
) |
Definition at line 358 of file LICM.cpp.
References assert(), BB, llvm::MemorySSA::getBlockAccesses(), llvm::LoopBase< BlockT, LoopT >::getBlocks(), LicmMssaNoAccForPromotionCap, and NoOfMemAccTooLarge.
|
inline |
Definition at line 126 of file LoopUtils.h.
References IsSink.
Referenced by llvm::canSinkOrHoistInst(), and pointerInvalidatedByLoop().
|
inline |
Definition at line 129 of file LoopUtils.h.
References LicmMssaOptCounter.
Referenced by llvm::canSinkOrHoistInst(), and pointerInvalidatedByLoop().
|
inline |
Definition at line 125 of file LoopUtils.h.
|
inline |
Definition at line 128 of file LoopUtils.h.
References LicmMssaOptCap, and LicmMssaOptCounter.
Referenced by llvm::canSinkOrHoistInst(), and pointerInvalidatedByLoop().
|
inline |
Definition at line 127 of file LoopUtils.h.
References NoOfMemAccTooLarge.
Referenced by llvm::canSinkOrHoistInst(), and pointerInvalidatedByLoop().
|
protected |
Definition at line 136 of file LoopUtils.h.
Referenced by getIsSink(), and setIsSink().
|
protected |
Definition at line 135 of file LoopUtils.h.
Referenced by SinkAndHoistLICMFlags().
|
protected |
Definition at line 134 of file LoopUtils.h.
Referenced by tooManyClobberingCalls().
|
protected |
Definition at line 133 of file LoopUtils.h.
Referenced by incrementClobberingCalls(), and tooManyClobberingCalls().
|
protected |
Definition at line 132 of file LoopUtils.h.
Referenced by SinkAndHoistLICMFlags(), and tooManyMemoryAccesses().