LLVM  10.0.0svn
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 83 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 85 of file TargetTransformInfo.h.

Member Function Documentation

◆ canAnalyze()

bool HardwareLoopInfo::canAnalyze ( LoopInfo LI)

Definition at line 45 of file TargetTransformInfo.cpp.

References llvm::LoopBlocksRPO::perform().

Referenced by llvm::PPCTTIImpl::canSaveCmp().

◆ 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

Definition at line 95 of file TargetTransformInfo.h.

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

◆ CountType

IntegerType* llvm::HardwareLoopInfo::CountType = nullptr

◆ ExitBlock

BasicBlock* llvm::HardwareLoopInfo::ExitBlock = nullptr

Definition at line 87 of file TargetTransformInfo.h.

◆ ExitBranch

BranchInst* llvm::HardwareLoopInfo::ExitBranch = nullptr

Definition at line 88 of file TargetTransformInfo.h.

Referenced by llvm::PPCTTIImpl::canSaveCmp().

◆ ExitCount

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

Definition at line 89 of file TargetTransformInfo.h.

◆ IsNestingLegal

bool llvm::HardwareLoopInfo::IsNestingLegal = false

Definition at line 93 of file TargetTransformInfo.h.

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

◆ L

Loop* llvm::HardwareLoopInfo::L = nullptr

Definition at line 86 of file TargetTransformInfo.h.

◆ LoopDecrement

Value* llvm::HardwareLoopInfo::LoopDecrement = nullptr

◆ PerformEntryTest

bool llvm::HardwareLoopInfo::PerformEntryTest = false

Definition at line 97 of file TargetTransformInfo.h.

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


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