LLVM: lib/Analysis/IVUsers.cpp File Reference (original) (raw)
Go to the source code of this file.
Functions | |
---|---|
INITIALIZE_PASS_BEGIN (IVUsersWrapperPass, "iv-users", "Induction Variable Users", false, true) INITIALIZE_PASS_END(IVUsersWrapperPass | |
static bool | isInteresting (const SCEV *S, const Instruction *I, const Loop *L, ScalarEvolution *SE, LoopInfo *LI) |
isInteresting - Test whether the given expression is "interesting" when used by the given expression, within the context of analyzing the given loop. | |
static bool | IVUseShouldUsePostIncValue (Instruction *User, Value *Operand, const Loop *L, DominatorTree *DT) |
IVUseShouldUsePostIncValue - We have discovered a "User" of an IV expression and now we need to decide whether the user should use the preinc or post-inc value. | |
static const SCEVAddRecExpr * | findAddRecForLoop (const SCEV *S, const Loop *L) |
Variables | |
---|---|
iv | users |
iv Induction Variable | Users |
iv Induction Variable | false |
◆ DEBUG_TYPE
#define DEBUG_TYPE "iv-users"
◆ findAddRecForLoop()
◆ INITIALIZE_PASS_BEGIN()
◆ isInteresting()
isInteresting - Test whether the given expression is "interesting" when used by the given expression, within the context of analyzing the given loop.
Definition at line 56 of file IVUsers.cpp.
References llvm::Add, llvm::LoopInfoBase< BlockT, LoopT >::getLoopFor(), llvm::ScalarEvolution::getSCEVAtScope(), I, and isInteresting().
Referenced by llvm::IVUsers::AddUsersIfInteresting(), llvm::ChangeReporter< IRUnitT >::handleIRAfterPass(), isInteresting(), llvm::PrintCrashIRInstrumentation::registerCallbacks(), llvm::ChangeReporter< IRUnitT >::saveIRBeforePass(), and shouldConvertOrWithNoCommonBitsToAdd().
◆ IVUseShouldUsePostIncValue()
◆ false
iv Induction Variable false
◆ users
◆ Users
iv Induction Variable Users
Definition at line 48 of file IVUsers.cpp.
Referenced by llvm::VPValue::addUser(), collectUsersRecursively(), llvm::DemotePHIToStack(), llvm::findDefsUsedOutsideOfLoop(), llvm::ScalarEvolution::forgetBlockAndLoopDispositions(), llvm::mca::WriteState::getNumUsers(), llvm::VPValue::getNumUsers(), INITIALIZE_PASS(), insertTrivialPHIs(), isAllocSiteRemovable(), isPossibleIndirectCallTarget(), isProfitableChain(), legalizeAndOptimizeInductions(), llvm::VPValue::removeUser(), llvm::slpvectorizer::BoUpSLP::reorderBottomToTop(), llvm::VPValue::replaceUsesWithIf(), replaceWithConstant(), rewriteDebugUsers(), llvm::CoroAnnotationElidePass::run(), llvm::mca::WriteState::setEliminated(), sink(), llvm::MachineRegisterInfo::updateDbgUsersToReg(), llvm::VPValue::user_begin(), llvm::VPValue::user_end(), and llvm::InstCombinerImpl::visitAllocSite().