summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--llvm/utils/gn/build/BUILD.gn10
-rw-r--r--llvm/utils/gn/build/buildflags.gni5
2 files changed, 12 insertions, 3 deletions
diff --git a/llvm/utils/gn/build/BUILD.gn b/llvm/utils/gn/build/BUILD.gn
index e323f99ac65..91ea275b3fe 100644
--- a/llvm/utils/gn/build/BUILD.gn
+++ b/llvm/utils/gn/build/BUILD.gn
@@ -23,7 +23,8 @@ config("compiler_defaults") {
if (host_os != "win") {
if (is_debug) {
cflags += [ "-g" ]
- } else {
+ }
+ if (is_optimized) {
cflags += [ "-O3" ]
}
cflags += [ "-fdiagnostics-color" ]
@@ -39,11 +40,16 @@ config("compiler_defaults") {
"/FS",
]
ldflags += [ "/DEBUG" ]
- } else {
+ }
+ if (is_optimized) {
cflags += [
"/O2",
"/Zc:inline",
]
+ ldflags += [
+ "/OPT:REF",
+ "/OPT:ICF",
+ ]
}
defines += [
"_CRT_SECURE_NO_DEPRECATE",
diff --git a/llvm/utils/gn/build/buildflags.gni b/llvm/utils/gn/build/buildflags.gni
index a28b788418d..4dcdc962b7d 100644
--- a/llvm/utils/gn/build/buildflags.gni
+++ b/llvm/utils/gn/build/buildflags.gni
@@ -1,10 +1,13 @@
declare_args() {
- # Whether to build with debug information and without optimizations.
+ # Whether to build with debug information.
is_debug = false
}
# args that depend on other args must live in a later declare_args() block.
declare_args() {
+ # Whether to build with optimizations.
+ is_optimized = !is_debug
+
# Whether to enable assertions.
llvm_enable_assertions = true
}
OpenPOWER on IntegriCloud