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

Methods

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)

Declared at: llvm/include/llvm/Transforms/Utils/LoopUtils.h:122

Parameters

bool IsSink
llvm::Loop* L = nullptr
llvm::MemorySSA* MSSA = nullptr

bool getIsSink()

Declared at: llvm/include/llvm/Transforms/Utils/LoopUtils.h:126

void incrementClobberingCalls()

Declared at: llvm/include/llvm/Transforms/Utils/LoopUtils.h:129

void setIsSink(bool B)

Declared at: llvm/include/llvm/Transforms/Utils/LoopUtils.h:125

Parameters

bool B

bool tooManyClobberingCalls()

Declared at: llvm/include/llvm/Transforms/Utils/LoopUtils.h:128

bool tooManyMemoryAccesses()

Declared at: llvm/include/llvm/Transforms/Utils/LoopUtils.h:127