diff options
-rw-r--r-- | llvm/utils/gn/build/BUILD.gn | 10 | ||||
-rw-r--r-- | llvm/utils/gn/build/buildflags.gni | 5 |
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 } |