LLVM API Documentation

IndVarSimplify.cpp File Reference

#include "llvm/Transforms/Scalar.h"
#include "llvm/BasicBlock.h"
#include "llvm/Constants.h"
#include "llvm/Instructions.h"
#include "llvm/Type.h"
#include "llvm/Analysis/ScalarEvolutionExpander.h"
#include "llvm/Analysis/LoopInfo.h"
#include "llvm/Support/CFG.h"
#include "llvm/Support/GetElementPtrTypeIterator.h"
#include "llvm/Transforms/Utils/Local.h"
#include "llvm/Support/CommandLine.h"
#include "llvm/ADT/Statistic.h"

Include dependency graph for IndVarSimplify.cpp:

Go to the source code of this file.

Functions

FunctionPassllvm::createIndVarSimplifyPass ()

Variables

Statistic NumRemoved ("indvars","Number of aux indvars removed")
Statistic NumPointer ("indvars","Number of pointer indvars promoted")
Statistic NumInserted ("indvars","Number of canonical indvars added")
Statistic NumReplaced ("indvars","Number of exit values replaced")
Statistic NumLFTR ("indvars","Number of loop exit tests replaced")
RegisterOpt< IndVarSimplify > X ("indvars","Canonicalize Induction Variables")


Variable Documentation

bool Changed

Definition at line 64 of file IndVarSimplify.cpp.

Referenced by CleanupConstantGlobalUsers(), llvm::Inliner::doFinalization(), FoldValueComparisonIntoPredecessors(), MarkAliveBlocks(), NormalizeMask(), OptimizeAwayTrappingUsesOfLoads(), OptimizeAwayTrappingUsesOfValue(), ResolveFunctions(), ResolveGlobalVariables(), llvm::FunctionPass::run(), llvm::BasicBlockPass::runOnFunction(), llvm::FunctionPass::runOnModule(), llvm::CallGraphSCCPass::runOnModule(), llvm::Inliner::runOnSCC(), llvm::BasicBlockPass::runPass(), llvm::set_union(), and llvm::SimplifyCFG().

LoopInfo* LI

Definition at line 62 of file IndVarSimplify.cpp.

Statistic NumInserted("indvars","Number of canonical indvars added") [static]

Statistic NumLFTR("indvars","Number of loop exit tests replaced") [static]

Statistic NumPointer("indvars","Number of pointer indvars promoted") [static]

Statistic NumRemoved("indvars","Number of aux indvars removed") [static]

Statistic NumReplaced("indvars","Number of exit values replaced") [static]

ScalarEvolution* SE

Definition at line 63 of file IndVarSimplify.cpp.

Referenced by llvm::Loop::isLoopExit(), llvm::Linker::LinkModules(), MarkAliveBlocks(), PrintLoopInfo(), llvm::Type::PromoteAbstractToConcrete(), llvm::ImmediatePostDominators::runOnFunction(), llvm::set_difference(), llvm::set_subtract(), llvm::set_union(), llvm::SimplifyCFG(), and llvm::Archive::writeMember().

RegisterOpt<IndVarSimplify> X("indvars","Canonicalize Induction Variables") [static]