X-Git-Url: http://demsky.eecs.uci.edu/git/?a=blobdiff_plain;f=include%2Fllvm%2FTransforms%2FScalar.h;h=971baeef910011ef09772ec4ac694db31a39dd82;hb=4b35f83b91a1a313f0730c600e5178aaf7df98d6;hp=8799a6f109312f76a6c57e4a5c9a0a38446912b8;hpb=3793325cb3b4d97a295e5aaa419cfcf2866940c9;p=oota-llvm.git diff --git a/include/llvm/Transforms/Scalar.h b/include/llvm/Transforms/Scalar.h index 8799a6f1093..971baeef910 100644 --- a/include/llvm/Transforms/Scalar.h +++ b/include/llvm/Transforms/Scalar.h @@ -18,7 +18,6 @@ namespace llvm { class FunctionPass; -class LoopPass; class Pass; class GetElementPtrInst; class PassInfo; @@ -81,7 +80,7 @@ FunctionPass *createScalarReplAggregatesPass(signed Threshold = -1); // InductionVariableSimplify - Transform induction variables in a program to all // use a single canonical induction variable per loop. // -LoopPass *createIndVarSimplifyPass(); +Pass *createIndVarSimplifyPass(); //===----------------------------------------------------------------------===// // @@ -101,7 +100,7 @@ FunctionPass *createInstructionCombiningPass(); // // LICM - This pass is a loop invariant code motion and memory promotion pass. // -LoopPass *createLICMPass(); +Pass *createLICMPass(); //===----------------------------------------------------------------------===// // @@ -110,33 +109,32 @@ LoopPass *createLICMPass(); // optional parameter used to consult the target machine whether certain // transformations are profitable. // -LoopPass *createLoopStrengthReducePass(const TargetLowering *TLI = 0); +Pass *createLoopStrengthReducePass(const TargetLowering *TLI = 0); //===----------------------------------------------------------------------===// // // LoopUnswitch - This pass is a simple loop unswitching pass. // -LoopPass *createLoopUnswitchPass(bool OptimizeForSize = false); +Pass *createLoopUnswitchPass(bool OptimizeForSize = false); //===----------------------------------------------------------------------===// // // LoopUnroll - This pass is a simple loop unrolling pass. // -LoopPass *createLoopUnrollPass(); +Pass *createLoopUnrollPass(); //===----------------------------------------------------------------------===// // // LoopRotate - This pass is a simple loop rotating pass. // -LoopPass *createLoopRotatePass(); +Pass *createLoopRotatePass(); //===----------------------------------------------------------------------===// // // LoopIndexSplit - This pass divides loop's iteration range by spliting loop // such that each individual loop is executed efficiently. // -LoopPass *createLoopIndexSplitPass(); - +Pass *createLoopIndexSplitPass(); //===----------------------------------------------------------------------===// // @@ -145,10 +143,10 @@ LoopPass *createLoopIndexSplitPass(); // this pass is: // // FROM CODE TO CODE -// %X = alloca int, uint 1 ret int 42 -// store int 42, int *%X -// %Y = load int* %X -// ret int %Y +// %X = alloca i32, i32 1 ret i32 42 +// store i32 42, i32 *%X +// %Y = load i32* %X +// ret i32 %Y // FunctionPass *createPromoteMemoryToRegisterPass(); extern const PassInfo *const PromoteMemoryToRegisterID; @@ -275,7 +273,7 @@ FunctionPass *createBlockPlacementPass(); // LCSSA - This pass inserts phi nodes at loop boundaries to simplify other loop // optimizations. // -LoopPass *createLCSSAPass(); +Pass *createLCSSAPass(); extern const PassInfo *const LCSSAID; //===----------------------------------------------------------------------===// @@ -311,7 +309,7 @@ FunctionPass *createMemCpyOptPass(); // LoopDeletion - This pass performs DCE of non-infinite loops that it // can prove are dead. // -LoopPass *createLoopDeletionPass(); +Pass *createLoopDeletionPass(); //===----------------------------------------------------------------------===// // @@ -319,6 +317,12 @@ LoopPass *createLoopDeletionPass(); /// specific well-known (library) functions. FunctionPass *createSimplifyLibCallsPass(); +//===----------------------------------------------------------------------===// +// +/// createSimplifyHalfPowrLibCallsPass - This is an experimental pass that +/// optimizes specific half_pow functions. +FunctionPass *createSimplifyHalfPowrLibCallsPass(); + //===----------------------------------------------------------------------===// // // CodeGenPrepare - This pass prepares a function for instruction selection. @@ -331,6 +335,7 @@ FunctionPass *createCodeGenPreparePass(const TargetLowering *TLI = 0); // InstructionNamer - Give any unnamed non-void instructions "tmp" names. // FunctionPass *createInstructionNamerPass(); +extern const PassInfo *const InstructionNamerID; } // End llvm namespace