struct HardwareLoopInfo

Declaration

struct HardwareLoopInfo { /* full declaration omitted */ };

Description

Attributes of a target dependent hardware loop.

Declared at: llvm/include/llvm/Analysis/TargetTransformInfo.h:95

Member Variables

public llvm::Loop* L = nullptr
public llvm::BasicBlock* ExitBlock = nullptr
public llvm::BranchInst* ExitBranch = nullptr
public const llvm::SCEV* ExitCount = nullptr
public llvm::IntegerType* CountType = nullptr
public llvm::Value* LoopDecrement = nullptr
public bool IsNestingLegal = false
public bool CounterInReg = false
public bool PerformEntryTest = false

Method Overview

Methods

HardwareLoopInfo()

Declared at: llvm/include/llvm/Analysis/TargetTransformInfo.h:96

HardwareLoopInfo(llvm::Loop* L)

Declared at: llvm/include/llvm/Analysis/TargetTransformInfo.h:97

Parameters

llvm::Loop* L

bool canAnalyze(llvm::LoopInfo& LI)

Declared at: llvm/include/llvm/Analysis/TargetTransformInfo.h:115

Parameters

llvm::LoopInfo& LI

bool isHardwareLoopCandidate(
    llvm::ScalarEvolution& SE,
    llvm::LoopInfo& LI,
    llvm::DominatorTree& DT,
    bool ForceNestedLoop = false,
    bool ForceHardwareLoopPHI = false)

Declared at: llvm/include/llvm/Analysis/TargetTransformInfo.h:112

Parameters

llvm::ScalarEvolution& SE
llvm::LoopInfo& LI
llvm::DominatorTree& DT
bool ForceNestedLoop = false
bool ForceHardwareLoopPHI = false