class SinkAndHoistLICMFlags
Declaration
class SinkAndHoistLICMFlags { /* full declaration omitted */ };
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.
Declared at: llvm/include/llvm/Transforms/Utils/LoopUtils.h:115
Member Variables
- protected bool NoOfMemAccTooLarge = false
- protected unsigned int LicmMssaOptCounter = 0
- protected unsigned int LicmMssaOptCap
- protected unsigned int LicmMssaNoAccForPromotionCap
- protected bool IsSink
Method Overview
- public SinkAndHoistLICMFlags(unsigned int LicmMssaOptCap, unsigned int LicmMssaNoAccForPromotionCap, bool IsSink, llvm::Loop * L = nullptr, llvm::MemorySSA * MSSA = nullptr)
- public SinkAndHoistLICMFlags(bool IsSink, llvm::Loop * L = nullptr, llvm::MemorySSA * MSSA = nullptr)
- public bool getIsSink()
- public void incrementClobberingCalls()
- public void setIsSink(bool B)
- public bool tooManyClobberingCalls()
- public bool tooManyMemoryAccesses()
Methods
¶SinkAndHoistLICMFlags(
unsigned int LicmMssaOptCap,
unsigned int LicmMssaNoAccForPromotionCap,
bool IsSink,
llvm::Loop* L = nullptr,
llvm::MemorySSA* MSSA = nullptr)
SinkAndHoistLICMFlags(
unsigned int LicmMssaOptCap,
unsigned int LicmMssaNoAccForPromotionCap,
bool IsSink,
llvm::Loop* L = nullptr,
llvm::MemorySSA* MSSA = nullptr)
Declared at: llvm/include/llvm/Transforms/Utils/LoopUtils.h:118
Parameters
- unsigned int LicmMssaOptCap
- unsigned int LicmMssaNoAccForPromotionCap
- bool IsSink
- llvm::Loop* L = nullptr
- llvm::MemorySSA* MSSA = nullptr
¶SinkAndHoistLICMFlags(
bool IsSink,
llvm::Loop* L = nullptr,
llvm::MemorySSA* MSSA = nullptr)
SinkAndHoistLICMFlags(
bool IsSink,
llvm::Loop* L = nullptr,
llvm::MemorySSA* MSSA = nullptr)
Declared at: llvm/include/llvm/Transforms/Utils/LoopUtils.h:122
Parameters
- bool IsSink
- llvm::Loop* L = nullptr
- llvm::MemorySSA* MSSA = nullptr
¶bool getIsSink()
bool getIsSink()
Declared at: llvm/include/llvm/Transforms/Utils/LoopUtils.h:126
¶void incrementClobberingCalls()
void incrementClobberingCalls()
Declared at: llvm/include/llvm/Transforms/Utils/LoopUtils.h:129
¶void setIsSink(bool B)
void setIsSink(bool B)
Declared at: llvm/include/llvm/Transforms/Utils/LoopUtils.h:125
Parameters
- bool B
¶bool tooManyClobberingCalls()
bool tooManyClobberingCalls()
Declared at: llvm/include/llvm/Transforms/Utils/LoopUtils.h:128
¶bool tooManyMemoryAccesses()
bool tooManyMemoryAccesses()
Declared at: llvm/include/llvm/Transforms/Utils/LoopUtils.h:127