# HG changeset patch # User Matti Niemenmaa # Date 1241280213 -10800 # Node ID e109e4031e8a8b9cad2db38e55bd994f34793f41 # Parent 6c8af78364f5a12bbdbfaf58013ea124bc6daaca Fix build when USE_METADATA is off. diff -r 6c8af78364f5 -r e109e4031e8a gen/optimizer.cpp --- a/gen/optimizer.cpp Sat May 02 12:19:43 2009 +0200 +++ b/gen/optimizer.cpp Sat May 02 19:03:33 2009 +0300 @@ -45,6 +45,7 @@ cl::desc("Disable simplification of runtime calls in -O"), cl::ZeroOrMore); +#ifdef USE_METADATA static cl::opt disableGCToStack("disable-gc2stack", cl::desc("Disable promotion of GC allocations to stack memory in -O"), @@ -55,6 +56,7 @@ disableStripMetaData("disable-strip-metadata", cl::desc("Disable default metadata stripping (not recommended)"), cl::ZeroOrMore); +#endif static cl::opt enableInlining("inlining", @@ -104,44 +106,55 @@ pm.add(createInstructionCombiningPass()); pm.add(createCFGSimplificationPass()); pm.add(createPruneEHPass()); + +#ifdef USE_METADATA if (!disableLangSpecificPasses && !disableGCToStack) pm.add(createGarbageCollect2Stack()); +#endif } // -inline if (doInline()) { pm.add(createFunctionInliningPass()); - + if (optimizeLevel >= 2) { // Run some optimizations to clean up after inlining. pm.add(createScalarReplAggregatesPass()); pm.add(createInstructionCombiningPass()); + +#ifdef USE_METADATA if (!disableLangSpecificPasses && !disableGCToStack) pm.add(createGarbageCollect2Stack()); - +#endif + // Inline again, to catch things like foreach delegates // passed to inlined opApply's where the function wasn't // known during the first inliner pass. pm.add(createFunctionInliningPass()); - + // Run clean-up again. pm.add(createScalarReplAggregatesPass()); pm.add(createInstructionCombiningPass()); + +#ifdef USE_METADATA if (!disableLangSpecificPasses && !disableGCToStack) pm.add(createGarbageCollect2Stack()); +#endif } } if (optimizeLevel >= 2 && !disableLangSpecificPasses) { if (!disableSimplifyRuntimeCalls) pm.add(createSimplifyDRuntimeCalls()); - + +#ifdef USE_METADATA if (!disableGCToStack) { // Run some clean-up after the last GC to stack promotion pass. pm.add(createScalarReplAggregatesPass()); pm.add(createInstructionCombiningPass()); pm.add(createCFGSimplificationPass()); } +#endif } #ifdef USE_METADATA if (!disableStripMetaData) { diff -r 6c8af78364f5 -r e109e4031e8a gen/passes/Passes.h --- a/gen/passes/Passes.h Sat May 02 12:19:43 2009 +0200 +++ b/gen/passes/Passes.h Sat May 02 19:03:33 2009 +0300 @@ -9,9 +9,9 @@ // Performs simplifications on runtime calls. llvm::FunctionPass* createSimplifyDRuntimeCalls(); -llvm::FunctionPass* createGarbageCollect2Stack(); #ifdef USE_METADATA +llvm::FunctionPass* createGarbageCollect2Stack(); llvm::ModulePass *createStripMetaData(); #endif