Choose CompileOptions (optimization passes) to match llvm-gcc more
closely.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@58361 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/Driver/clang.cpp b/Driver/clang.cpp
index 3cf654f..696e884 100644
--- a/Driver/clang.cpp
+++ b/Driver/clang.cpp
@@ -1142,7 +1142,11 @@
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;
}
//===----------------------------------------------------------------------===//
diff --git a/include/clang/Driver/CompileOptions.h b/include/clang/Driver/CompileOptions.h
index 5609445..5086553 100644
--- a/include/clang/Driver/CompileOptions.h
+++ b/include/clang/Driver/CompileOptions.h
@@ -34,8 +34,8 @@
CompileOptions() {
OptimizationLevel = 0;
OptimizeSize = 0;
- UnitAtATime = InlineFunctions = SimplifyLibCalls = 1;
- UnrollLoops = 1;
+ UnitAtATime = 1;
+ InlineFunctions = SimplifyLibCalls = UnrollLoops = 0;
VerifyModule = 1;
}
};