//
FunctionPass *createReassociatePass();
-//===----------------------------------------------------------------------===//
-//
-// CondPropagationPass - This pass propagates information about conditional
-// expressions through the program, allowing it to eliminate conditional
-// branches in some cases.
-//
-FunctionPass *createCondPropagationPass();
-
//===----------------------------------------------------------------------===//
//
// TailDuplication - Eliminate unconditional branches through controlled code
//
// AU.addRequiredID(LoopSimplifyID);
//
-FunctionPass *createLoopSimplifyPass();
+Pass *createLoopSimplifyPass();
extern const PassInfo *const LoopSimplifyID;
-//===----------------------------------------------------------------------===//
-//
-// LowerAllocations - Turn malloc and free instructions into @malloc and @free
-// calls.
-//
-// AU.addRequiredID(LowerAllocationsID);
-//
-Pass *createLowerAllocationsPass(bool LowerMallocArgToInteger = false);
-extern const PassInfo *const LowerAllocationsID;
-
//===----------------------------------------------------------------------===//
//
// TailCallElimination - This pass eliminates call instructions to the current
Pass *createLCSSAPass();
extern const PassInfo *const LCSSAID;
-//===----------------------------------------------------------------------===//
-//
-// PredicateSimplifier - This pass collapses duplicate variables into one
-// canonical form, and tries to simplify expressions along the way.
-//
-FunctionPass *createPredicateSimplifierPass();
-
-//===----------------------------------------------------------------------===//
-//
-// GVN-PRE - This pass performs global value numbering and partial redundancy
-// elimination.
-//
-FunctionPass *createGVNPREPass();
-
//===----------------------------------------------------------------------===//
//
// GVN - This pass performs global value numbering and redundant load
// elimination cotemporaneously.
//
-FunctionPass *createGVNPass();
+FunctionPass *createGVNPass(bool NoPRE = false, bool NoLoads = false);
//===----------------------------------------------------------------------===//
//
//
FunctionPass *createCodeGenPreparePass(const TargetLowering *TLI = 0);
-
//===----------------------------------------------------------------------===//
//
// InstructionNamer - Give any unnamed non-void instructions "tmp" names.
//
FunctionPass *createSSIEverythingPass();
+//===----------------------------------------------------------------------===//
+//
+// GEPSplitter - Split complex GEPs into simple ones
+//
+FunctionPass *createGEPSplitterPass();
+
+//===----------------------------------------------------------------------===//
+//
+// SCCVN - Aggressively eliminate redundant scalar values
+//
+FunctionPass *createSCCVNPass();
+
+//===----------------------------------------------------------------------===//
+//
+// ABCD - Elimination of Array Bounds Checks on Demand
+//
+FunctionPass *createABCDPass();
+
} // End llvm namespace
#endif