LLVM
10.0.0svn
|
Attributes of a target dependent hardware loop. More...
#include "llvm/Analysis/TargetTransformInfo.h"
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 | |
Loop * | L = nullptr |
BasicBlock * | ExitBlock = nullptr |
BranchInst * | ExitBranch = nullptr |
const SCEV * | ExitCount = nullptr |
IntegerType * | CountType = nullptr |
Value * | LoopDecrement = nullptr |
bool | IsNestingLegal = false |
bool | CounterInReg = false |
bool | PerformEntryTest = false |
Attributes of a target dependent hardware loop.
Definition at line 83 of file TargetTransformInfo.h.
|
delete |
|
inline |
Definition at line 85 of file TargetTransformInfo.h.
Definition at line 46 of file TargetTransformInfo.cpp.
References llvm::LoopBlocksRPO::perform().
Referenced by llvm::PPCTTIImpl::canSaveCmp().
bool HardwareLoopInfo::isHardwareLoopCandidate | ( | ScalarEvolution & | SE, |
LoopInfo & | LI, | ||
DominatorTree & | DT, | ||
bool | ForceNestedLoop = false , |
||
bool | ForceHardwareLoopPHI = false |
||
) |
Definition at line 56 of file TargetTransformInfo.cpp.
References llvm::DominatorTree::dominates(), ForceNestedLoop, llvm::ScalarEvolution::getExitCount(), llvm::LoopInfoBase< BlockT, LoopT >::getLoopFor(), llvm::SCEV::getType(), llvm::ScalarEvolution::getTypeSizeInBits(), llvm::ScalarEvolution::isLoopInvariant(), and llvm::predecessors().
Referenced by llvm::PPCTTIImpl::canSaveCmp().
Definition at line 95 of file TargetTransformInfo.h.
Referenced by llvm::ARMTTIImpl::isHardwareLoopProfitable().
IntegerType* llvm::HardwareLoopInfo::CountType = nullptr |
Definition at line 90 of file TargetTransformInfo.h.
Referenced by llvm::PPCTTIImpl::isHardwareLoopProfitable(), and llvm::ARMTTIImpl::isHardwareLoopProfitable().
BasicBlock* llvm::HardwareLoopInfo::ExitBlock = nullptr |
Definition at line 87 of file TargetTransformInfo.h.
BranchInst* llvm::HardwareLoopInfo::ExitBranch = nullptr |
Definition at line 88 of file TargetTransformInfo.h.
Referenced by llvm::PPCTTIImpl::canSaveCmp().
Definition at line 89 of file TargetTransformInfo.h.
Definition at line 93 of file TargetTransformInfo.h.
Referenced by llvm::ARMTTIImpl::isHardwareLoopProfitable().
Loop* llvm::HardwareLoopInfo::L = nullptr |
Definition at line 86 of file TargetTransformInfo.h.
Value* llvm::HardwareLoopInfo::LoopDecrement = nullptr |
Definition at line 91 of file TargetTransformInfo.h.
Referenced by llvm::PPCTTIImpl::isHardwareLoopProfitable(), and llvm::ARMTTIImpl::isHardwareLoopProfitable().
Definition at line 97 of file TargetTransformInfo.h.
Referenced by llvm::ARMTTIImpl::isHardwareLoopProfitable().