]> granicus.if.org Git - clang/commitdiff
Choose CompileOptions (optimization passes) to match llvm-gcc more
authorDaniel Dunbar <daniel@zuster.org>
Wed, 29 Oct 2008 03:42:18 +0000 (03:42 +0000)
committerDaniel Dunbar <daniel@zuster.org>
Wed, 29 Oct 2008 03:42:18 +0000 (03:42 +0000)
closely.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@58361 91177308-0d34-0410-b5e6-96231b3b80d8

Driver/clang.cpp
include/clang/Driver/CompileOptions.h

index 3cf654f458b9ccd4a18645bb82e7b533b2e663bc..696e8842c9dbdc1139385420386e976199ce88d8 100644 (file)
@@ -1142,7 +1142,11 @@ OptLevel("O", llvm::cl::Prefix,
 static void InitializeCompileOptions(CompileOptions &Opts) {
   Opts.OptimizationLevel = OptLevel;
   Opts.OptimizeSize = OptSize;
-  // FIXME: Wire other options.
+
+  // FIXME: There are llvm-gcc options to control these selectively.
+  Opts.InlineFunctions = (Opts.OptimizationLevel > 1);
+  Opts.UnrollLoops = (Opts.OptimizationLevel > 1 && !OptSize);
+  Opts.SimplifyLibCalls = 1;
 }
 
 //===----------------------------------------------------------------------===//
index 560944566a9190ae09f2276bb8813d0bfc0f15f9..50865536dcabd82c318143af5228144b9cb5330b 100644 (file)
@@ -34,8 +34,8 @@ public:
   CompileOptions() {
     OptimizationLevel = 0;
     OptimizeSize = 0;
-    UnitAtATime = InlineFunctions = SimplifyLibCalls = 1;
-    UnrollLoops = 1;
+    UnitAtATime = 1;
+    InlineFunctions = SimplifyLibCalls = UnrollLoops = 0;
     VerifyModule = 1;
   }
 };