Revision: 128613 Author: clattner Date: 2007-06-19 10:49:09 -0700 (Tue, 19 Jun 2007)
Log Message: ----------- add a new -mllvm -disable-llvm-optzns option, which can be used to isolate changes in the code made by llvm optimizers from changes make by GCC FE optimizations. Modified Paths: -------------- apple-local/branches/llvm/gcc/llvm-backend.cpp Modified: apple-local/branches/llvm/gcc/llvm-backend.cpp =================================================================== --- apple-local/branches/llvm/gcc/llvm-backend.cpp 2007-06-19 16:30:52 UTC (rev 128612) +++ apple-local/branches/llvm/gcc/llvm-backend.cpp 2007-06-19 17:49:09 UTC (rev 128613) @@ -78,6 +78,11 @@ TypeConverter *TheTypeConverter = 0; llvm::OStream *AsmOutFile = 0; +/// DisableLLVMOptimizations - Allow the user to specify: +/// "-mllvm -disable-llvm-optzns" on the llvm-gcc command line to force llvm +/// optimizations off. +static cl::opt<bool> DisableLLVMOptimizations("disable-llvm-optzns"); + std::vector<std::pair<Function*, int> > StaticCtors, StaticDtors; std::vector<Constant*> AttributeUsedGlobals; std::vector<Constant*> AttributeNoinlineFunctions; @@ -271,7 +276,7 @@ HasPerFunctionPasses = true; #endif - if (optimize > 0) { + if (optimize > 0 && !DisableLLVMOptimizations) { HasPerFunctionPasses = true; PerFunctionPasses->add(createCFGSimplificationPass()); if (optimize == 1) @@ -287,7 +292,7 @@ PerModulePasses->add(new TargetData(*TheTarget->getTargetData())); bool HasPerModulePasses = false; - if (optimize > 0) { + if (optimize > 0 && !DisableLLVMOptimizations) { HasPerModulePasses = true; PassManager *PM = PerModulePasses; if (flag_unit_at_a_time) _______________________________________________ llvm-commits mailing list llvm-commits@cs.uiuc.edu http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits