//
// The LLVM Compiler Infrastructure
//
-// This file was developed by the LLVM research group and is distributed under
-// the University of Illinois Open Source License. See LICENSE.TXT for details.
+// This file is distributed under the University of Illinois Open Source
+// License. See LICENSE.TXT for details.
//
//===----------------------------------------------------------------------===//
//
//===----------------------------------------------------------------------===//
//
-// LoopIndexSplit - This pass splits loop
+// LoopIndexSplit - This pass divides loop's iteration range by spliting loop
+// such that each individual loop is executed efficiently.
//
LoopPass *createLoopIndexSplitPass();
// ret int %Y
//
FunctionPass *createPromoteMemoryToRegisterPass();
-extern const PassInfo *PromoteMemoryToRegisterID;
+extern const PassInfo *const PromoteMemoryToRegisterID;
//===----------------------------------------------------------------------===//
//
// hacking easier.
//
FunctionPass *createDemoteRegisterToMemoryPass();
-extern const PassInfo *DemoteRegisterToMemoryID;
+extern const PassInfo *const DemoteRegisterToMemoryID;
//===----------------------------------------------------------------------===//
//
//
FunctionPass *createReassociatePass();
-//===----------------------------------------------------------------------===//
-//
-// CorrelatedExpressionElimination - This pass eliminates correlated
-// conditions, such as these:
-// if (X == 0)
-// if (X > 2) ; // Known false
-// else
-// Y = X * Z; // = 0
-//
-FunctionPass *createCorrelatedExpressionEliminationPass();
-
//===----------------------------------------------------------------------===//
//
// CondPropagationPass - This pass propagates information about conditional
//
FunctionPass *createTailDuplicationPass();
+//===----------------------------------------------------------------------===//
+//
+// JumpThreading - Thread control through mult-pred/multi-succ blocks where some
+// preds always go to some succ.
+//
+FunctionPass *createJumpThreadingPass();
+
//===----------------------------------------------------------------------===//
//
// CFGSimplification - Merge basic blocks, eliminate unreachable blocks,
// (set, immediate dominators, tree, and frontier) information.
//
FunctionPass *createBreakCriticalEdgesPass();
-extern const PassInfo *BreakCriticalEdgesID;
+extern const PassInfo *const BreakCriticalEdgesID;
//===----------------------------------------------------------------------===//
//
// AU.addRequiredID(LoopSimplifyID);
//
FunctionPass *createLoopSimplifyPass();
-extern const PassInfo *LoopSimplifyID;
-
-//===----------------------------------------------------------------------===//
-//
-// LowerSelect - This pass converts SelectInst instructions into conditional
-// branch and PHI instructions. If the OnlyFP flag is set to true, then only
-// floating point select instructions are lowered.
-//
-FunctionPass *createLowerSelectPass(bool OnlyFP = false);
-extern const PassInfo *LowerSelectID;
+extern const PassInfo *const LoopSimplifyID;
//===----------------------------------------------------------------------===//
//
// AU.addRequiredID(LowerAllocationsID);
//
Pass *createLowerAllocationsPass(bool LowerMallocArgToInteger = false);
-extern const PassInfo *LowerAllocationsID;
+extern const PassInfo *const LowerAllocationsID;
//===----------------------------------------------------------------------===//
//
// chained binary branch instructions.
//
FunctionPass *createLowerSwitchPass();
-extern const PassInfo *LowerSwitchID;
-
-//===----------------------------------------------------------------------===//
-//
-// LowerPacked - This pass converts VectorType operations into low-level scalar
-// operations.
-//
-FunctionPass *createLowerPackedPass();
+extern const PassInfo *const LowerSwitchID;
//===----------------------------------------------------------------------===//
//
// lowering pass.
//
FunctionPass *createLowerInvokePass(const TargetLowering *TLI = NULL);
-extern const PassInfo *LowerInvokePassID;
-
-//===----------------------------------------------------------------------===//
-//
-// LowerGCPass - This function returns an instance of the "lowergc" pass, which
-// lowers garbage collection intrinsics to normal LLVM code.
-//
-FunctionPass *createLowerGCPass();
+extern const PassInfo *const LowerInvokePassID;
//===----------------------------------------------------------------------===//
//
// optimizations.
//
LoopPass *createLCSSAPass();
-extern const PassInfo *LCSSAID;
+extern const PassInfo *const LCSSAID;
//===----------------------------------------------------------------------===//
//
//===----------------------------------------------------------------------===//
//
-// RedundantLoadElimination - This pass deletes loads that are dominated by
-// must-aliased loads and are not stored to between the loads.
+// GVN - This pass performs global value numbering and redundant load
+// elimination cotemporaneously.
//
-FunctionPass *createRedundantLoadEliminationPass();
+FunctionPass *createGVNPass();
//===----------------------------------------------------------------------===//
//
-// GVN - This pass performs global value numbering and redundant load
-// elimination cotemporaneously.
+// MemCpyOpt - This pass performs optimizations related to eliminating memcpy
+// calls and/or combining multiple stores into memset's.
//
-FunctionPass *createGVNPass();
+FunctionPass *createMemCpyOptPass();
+
+//===----------------------------------------------------------------------===//
+//
+// LoopDeletion - This pass performs DCE of non-infinite loops that it
+// can prove are dead.
+//
+LoopPass *createLoopDeletionPass();
+
+//===----------------------------------------------------------------------===//
+//
+/// createSimplifyLibCallsPass - This pass optimizes specific calls to
+/// specific well-known (library) functions.
+FunctionPass *createSimplifyLibCallsPass();
//===----------------------------------------------------------------------===//
//