LLVM  6.0.0svn
Public Member Functions | List of all members
llvm::LoopPredicationPass Class Reference

Performs Loop Predication Pass. More...

#include "llvm/Transforms/Scalar/LoopPredication.h"

Inheritance diagram for llvm::LoopPredicationPass:
Inheritance graph
[legend]
Collaboration diagram for llvm::LoopPredicationPass:
Collaboration graph
[legend]

Public Member Functions

PreservedAnalyses run (Loop &L, LoopAnalysisManager &AM, LoopStandardAnalysisResults &AR, LPMUpdater &U)
 

Additional Inherited Members

- Static Public Member Functions inherited from llvm::PassInfoMixin< LoopPredicationPass >
static StringRef name ()
 Gets the name of the pass we are mixed into. More...
 

Detailed Description

Performs Loop Predication Pass.

Definition at line 25 of file LoopPredication.h.

Member Function Documentation

◆ run()

PreservedAnalyses LoopPredicationPass::run ( Loop L,
LoopAnalysisManager AM,
LoopStandardAnalysisResults AR,
LPMUpdater U 
)

Definition at line 283 of file LoopPredication.cpp.

References llvm::PreservedAnalyses::all(), assert(), llvm::LoopBase< BlockT, LoopT >::blocks(), Check(), llvm::IRBuilder< T, Inserter >::CreateAnd(), llvm::IRBuilder< T, Inserter >::CreateICmp(), llvm::dbgs(), DEBUG, llvm::Value::dump(), llvm::Loop::dump(), llvm::dyn_cast(), EnableIVTruncation, llvm::SCEVExpander::expandCodeFor(), llvm::ScalarEvolution::getAddExpr(), llvm::Module::getFunction(), llvm::LoopBase< BlockT, LoopT >::getHeader(), llvm::CmpInst::getInversePredicate(), llvm::SCEVAddRecExpr::getLoop(), llvm::LoopBase< BlockT, LoopT >::getLoopLatch(), llvm::getLoopPassPreservedAnalyses(), llvm::LoopBase< BlockT, LoopT >::getLoopPreheader(), llvm::ScalarEvolution::getMinusSCEV(), llvm::BasicBlock::getModule(), llvm::Intrinsic::getName(), llvm::ScalarEvolution::getOne(), llvm::User::getOperand(), llvm::ScalarEvolution::getSCEV(), llvm::CmpInst::getSwappedPredicate(), llvm::BasicBlock::getTerminator(), llvm::IRBuilderBase::getTrue(), llvm::ScalarEvolution::getTruncateExpr(), llvm::SCEV::getType(), llvm::DataLayout::getTypeSizeInBits(), I, llvm::CmpInst::ICMP_SLE, llvm::CmpInst::ICMP_SLT, llvm::CmpInst::ICMP_ULE, llvm::CmpInst::ICMP_ULT, llvm::SmallVectorImpl< T >::insert(), llvm::ScalarEvolution::isLoopEntryGuardedByCond(), llvm::ScalarEvolution::isLoopInvariant(), llvm::ScalarEvolution::isMonotonicPredicate(), llvm::SCEV::isOne(), llvm::isSafeToExpand(), llvm_unreachable, llvm::PatternMatch::m_And(), llvm::PatternMatch::m_Br(), llvm::PatternMatch::m_ICmp(), llvm::PatternMatch::m_Value(), llvm::PatternMatch::match(), llvm::None, llvm::SmallVectorTemplateBase< T, isPodLike >::push_back(), llvm::SmallVectorTemplateBase< T, isPodLike< T >::value >::push_back(), llvm::LoopStandardAnalysisResults::SE, llvm::User::setOperand(), and std::swap().


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