[llvm-commits] [128613] add a new -mllvm -disable-llvm-optzns option, which can be used

clattner at apple.com clattner at apple.com
Tue Jun 19 10:49:10 PDT 2007


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)





More information about the llvm-commits mailing list