Changes in directory llvm/include/llvm/Transforms:
LinkAllPasses.h updated: 1.19.4.1 -> 1.19.4.2 Scalar.h updated: 1.56.4.1 -> 1.56.4.2 --- Log message: Merged mainline into Vector LLVM branch --- Diffs of the changes: (+29 -27) LinkAllPasses.h | 35 ++++++++++++++--------------------- Scalar.h | 21 +++++++++++++++------ 2 files changed, 29 insertions(+), 27 deletions(-) Index: llvm/include/llvm/Transforms/LinkAllPasses.h diff -u llvm/include/llvm/Transforms/LinkAllPasses.h:1.19.4.1 llvm/include/llvm/Transforms/LinkAllPasses.h:1.19.4.2 --- llvm/include/llvm/Transforms/LinkAllPasses.h:1.19.4.1 Tue Oct 18 14:21:56 2005 +++ llvm/include/llvm/Transforms/LinkAllPasses.h Wed Nov 16 12:32:00 2005 @@ -7,17 +7,14 @@ // //===----------------------------------------------------------------------===// // -// This header file is required for building with Microsoft's VC++, as it has -// no way of linking all registered passes into executables other than by -// explicit use. +// This header file pulls in all transformation passes for tools like opts and +// bugpoint that need this functionality. // //===----------------------------------------------------------------------===// #ifndef LLVM_TRANSFORMS_LINKALLPASSES_H #define LLVM_TRANSFORMS_LINKALLPASSES_H -#ifdef _MSC_VER - #include "llvm/Analysis/Passes.h" #include "llvm/Analysis/LoadValueNumbering.h" #include "llvm/CodeGen/Passes.h" @@ -25,20 +22,16 @@ #include "llvm/Transforms/IPO.h" #include "llvm/Transforms/Scalar.h" #include "llvm/Transforms/Utils/UnifyFunctionExitNodes.h" - -// Trying not to include <windows.h>, though maybe we should... Problem is, -// it pollutes the global namespace in some really nasty ways. -extern "C" __declspec(dllimport) void* __stdcall GetCurrentProcess(); +#include <cstdlib> namespace { struct ForcePassLinking { ForcePassLinking() { - // We must reference the passes in such a way that VC++ will not + // We must reference the passes in such a way that compilers will not // delete it all as dead code, even with whole program optimization, // yet is effectively a NO-OP. As the compiler isn't smart enough - // to know that GetCurrentProcess() never returns - // INVALID_HANDLE_VALUE, this will do the job. - if (GetCurrentProcess() != (void *) -1) + // to know that getenv() never returns -1, this will do the job. + if (std::getenv("bar") != (char*) -1) return; (void) llvm::createAAEvalPass(); @@ -52,7 +45,6 @@ (void) llvm::createBlockProfilerPass(); (void) llvm::createBreakCriticalEdgesPass(); (void) llvm::createCFGSimplificationPass(); - (void) llvm::createCombineBranchesPass(); (void) llvm::createConstantMergePass(); (void) llvm::createConstantPropagationPass(); (void) llvm::createCorrelatedExpressionEliminationPass(); @@ -76,17 +68,15 @@ (void) llvm::createIPSCCPPass(); (void) llvm::createIndVarSimplifyPass(); (void) llvm::createInstructionCombiningPass(); - (void) llvm::createInternalizePass(); + (void) llvm::createInternalizePass(false); (void) llvm::createLICMPass(); (void) llvm::createLoadValueNumberingPass(); (void) llvm::createLoopExtractorPass(); - (void) llvm::createLoopInstrumentationPass(); (void) llvm::createLoopSimplifyPass(); (void) llvm::createLoopStrengthReducePass(); (void) llvm::createLoopUnrollPass(); (void) llvm::createLoopUnswitchPass(); (void) llvm::createLowerAllocationsPass(); - (void) llvm::createLowerConstantExpressionsPass(); (void) llvm::createLowerGCPass(); (void) llvm::createLowerInvokePass(); (void) llvm::createLowerFixedVectorPass(); @@ -97,8 +87,8 @@ (void) llvm::createNoProfileInfoPass(); (void) llvm::createPREPass(); (void) llvm::createProfileLoaderPass(); - (void) llvm::createProfilePathsPass(); (void) llvm::createPromoteMemoryToRegisterPass(); + (void) llvm::createDemoteRegisterToMemoryPass(); (void) llvm::createPruneEHPass(); (void) llvm::createRaiseAllocationsPass(); (void) llvm::createRaisePointerReferencesPass(); @@ -116,10 +106,13 @@ (void) llvm::createTraceValuesPassForFunction(); (void) llvm::createUnifyFunctionExitNodesPass(); (void) llvm::createCondPropagationPass(); + (void) llvm::createRaiseVectorsPass(); + (void) llvm::createLowerVectorsPass(); + (void) llvm::createAlloca2ReallocPass(); + (void) llvm::createAltiVecPass(); + (void) llvm::createSSEPass(); } - } _ForcePassLinking; + } ForcePassLinking; }; -#endif // _MSC_VER - #endif Index: llvm/include/llvm/Transforms/Scalar.h diff -u llvm/include/llvm/Transforms/Scalar.h:1.56.4.1 llvm/include/llvm/Transforms/Scalar.h:1.56.4.2 --- llvm/include/llvm/Transforms/Scalar.h:1.56.4.1 Tue Oct 18 14:21:56 2005 +++ llvm/include/llvm/Transforms/Scalar.h Wed Nov 16 12:32:00 2005 @@ -162,6 +162,12 @@ // FunctionPass *createPromoteMemoryToRegisterPass(); +//===----------------------------------------------------------------------===// +// +// This pass is used to demote registers to memory references . +// In basically undoes the PromoteMemoryToRegister pass to +// make cfg hacking easier. +FunctionPass *createDemoteRegisterToMemoryPass(); //===----------------------------------------------------------------------===// // @@ -271,7 +277,8 @@ // "my LLVM-to-LLVM pass doesn't support the invoke instruction yet" lowering // pass. // -FunctionPass *createLowerInvokePass(); +FunctionPass *createLowerInvokePass(unsigned JumBufSize = 200, + unsigned JumpBufAlign = 0); extern const PassInfo *LowerInvokePassID; @@ -282,11 +289,6 @@ FunctionPass *createLowerGCPass(); //===----------------------------------------------------------------------===// -// Returns a pass which converts all instances of ConstantExpression -// into regular LLVM instructions. -FunctionPass* createLowerConstantExpressionsPass(); - -//===----------------------------------------------------------------------===// // This pass reorders basic blocks in order to increase the number of fall- // through conditional branches. FunctionPass *createBlockPlacementPass(); @@ -295,6 +297,13 @@ // This pass does partial redundancy elimination. FunctionPass *createPREPass(); +// Vector stuff +FunctionPass *createRaiseVectorsPass(); +FunctionPass *createLowerVectorsPass(); +FunctionPass *createAlloca2ReallocPass(); +FunctionPass *createAltiVecPass(); +FunctionPass *createSSEPass(); + } // End llvm namespace #endif _______________________________________________ llvm-commits mailing list llvm-commits@cs.uiuc.edu http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits