LLVM  14.0.0git
Public Member Functions | Public Attributes | List of all members
llvm::HardwareLoopInfo Struct Reference

Attributes of a target dependent hardware loop. More...

#include "llvm/Analysis/TargetTransformInfo.h"

Collaboration diagram for llvm::HardwareLoopInfo:
Collaboration graph
[legend]

Public Member Functions

 HardwareLoopInfo ()=delete
 
 HardwareLoopInfo (Loop *L)
 
bool isHardwareLoopCandidate (ScalarEvolution &SE, LoopInfo &LI, DominatorTree &DT, bool ForceNestedLoop=false, bool ForceHardwareLoopPHI=false)
 
bool canAnalyze (LoopInfo &LI)
 

Public Attributes

LoopL = nullptr
 
BasicBlockExitBlock = nullptr
 
BranchInstExitBranch = nullptr
 
const SCEVExitCount = nullptr
 
IntegerTypeCountType = nullptr
 
ValueLoopDecrement = nullptr
 
bool IsNestingLegal = false
 
bool CounterInReg = false
 
bool PerformEntryTest = false
 

Detailed Description

Attributes of a target dependent hardware loop.

Definition at line 95 of file TargetTransformInfo.h.

Constructor & Destructor Documentation

◆ HardwareLoopInfo() [1/2]

llvm::HardwareLoopInfo::HardwareLoopInfo ( )
delete

◆ HardwareLoopInfo() [2/2]

llvm::HardwareLoopInfo::HardwareLoopInfo ( Loop L)
inline

Definition at line 97 of file TargetTransformInfo.h.

Member Function Documentation

◆ canAnalyze()

bool HardwareLoopInfo::canAnalyze ( LoopInfo LI)

◆ isHardwareLoopCandidate()

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

Member Data Documentation

◆ CounterInReg

bool llvm::HardwareLoopInfo::CounterInReg = false

◆ CountType

IntegerType* llvm::HardwareLoopInfo::CountType = nullptr

◆ ExitBlock

BasicBlock* llvm::HardwareLoopInfo::ExitBlock = nullptr

Definition at line 99 of file TargetTransformInfo.h.

Referenced by isHardwareLoopCandidate().

◆ ExitBranch

BranchInst* llvm::HardwareLoopInfo::ExitBranch = nullptr

Definition at line 100 of file TargetTransformInfo.h.

Referenced by llvm::PPCTTIImpl::canSaveCmp(), and isHardwareLoopCandidate().

◆ ExitCount

const SCEV* llvm::HardwareLoopInfo::ExitCount = nullptr

Definition at line 101 of file TargetTransformInfo.h.

Referenced by isHardwareLoopCandidate().

◆ IsNestingLegal

bool llvm::HardwareLoopInfo::IsNestingLegal = false

◆ L

Loop* llvm::HardwareLoopInfo::L = nullptr

Definition at line 98 of file TargetTransformInfo.h.

Referenced by isHardwareLoopCandidate().

◆ LoopDecrement

Value* llvm::HardwareLoopInfo::LoopDecrement = nullptr

◆ PerformEntryTest

bool llvm::HardwareLoopInfo::PerformEntryTest = false

Definition at line 109 of file TargetTransformInfo.h.

Referenced by llvm::ARMTTIImpl::isHardwareLoopProfitable().


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