Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(120)

Side by Side Diff: build/config/compiler/BUILD.gn

Issue 2078223002: Add a dedicated "optimize_speed" config to GN. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 4 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « no previous file | third_party/opus/BUILD.gn » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 # Copyright (c) 2013 The Chromium Authors. All rights reserved. 1 # Copyright (c) 2013 The Chromium Authors. All rights reserved.
2 # Use of this source code is governed by a BSD-style license that can be 2 # Use of this source code is governed by a BSD-style license that can be
3 # found in the LICENSE file. 3 # found in the LICENSE file.
4 4
5 import("//build/config/android/config.gni") 5 import("//build/config/android/config.gni")
6 import("//build/config/chrome_build.gni") 6 import("//build/config/chrome_build.gni")
7 import("//build/config/compiler/compiler.gni") 7 import("//build/config/compiler/compiler.gni")
8 import("//build/config/nacl/config.gni") 8 import("//build/config/nacl/config.gni")
9 import("//build/toolchain/cc_wrapper.gni") 9 import("//build/toolchain/cc_wrapper.gni")
10 import("//build/toolchain/toolchain.gni") 10 import("//build/toolchain/toolchain.gni")
(...skipping 1357 matching lines...) Expand 10 before | Expand all | Expand 10 after
1368 # The NaCl IRT is a special case and always wants its own config. 1368 # The NaCl IRT is a special case and always wants its own config.
1369 # Various components do: 1369 # Various components do:
1370 # if (!is_debug) { 1370 # if (!is_debug) {
1371 # configs -= [ "//build/config/compiler:default_optimization" ] 1371 # configs -= [ "//build/config/compiler:default_optimization" ]
1372 # configs += [ "//build/config/compiler:optimize_max" ] 1372 # configs += [ "//build/config/compiler:optimize_max" ]
1373 # } 1373 # }
1374 # So this config has to have the selection logic just like 1374 # So this config has to have the selection logic just like
1375 # "default_optimization", below. 1375 # "default_optimization", below.
1376 configs = [ "//build/config/nacl:irt_optimize" ] 1376 configs = [ "//build/config/nacl:irt_optimize" ]
1377 } else { 1377 } else {
1378 ldflags = common_optimize_on_ldflags 1378 ldflags = common_optimize_on_ldflags
Michael Achenbach 2016/06/20 11:38:25 Don't we miss the common_optimize_on_ldflags if we
Dirk Pranke 2016/06/20 16:34:02 Whoops, yes. Good catch. Will fix.
1379 if (is_win) { 1379 if (is_win) {
1380 # Favor speed over size, /O2 must be before the common flags. The GYP 1380 # Favor speed over size, /O2 must be before the common flags. The GYP
1381 # build also specifies /Ot, /Oi, and /GF, but these are implied by /O2. 1381 # build also specifies /Ot, /Oi, and /GF, but these are implied by /O2.
1382 cflags = [ "/O2" ] + common_optimize_on_cflags 1382 cflags = [ "/O2" ] + common_optimize_on_cflags
1383 1383
1384 # TODO(thakis): Remove is_clang here, https://crbug.com/598772 1384 # TODO(thakis): Remove is_clang here, https://crbug.com/598772
1385 if (is_official_build && !is_clang) { 1385 if (is_official_build && !is_clang) {
1386 cflags += [ 1386 cflags += [
1387 "/GL", # Whole program optimization. 1387 "/GL", # Whole program optimization.
1388 1388
1389 # Disable Warning 4702 ("Unreachable code") for the WPO/PGO builds. 1389 # Disable Warning 4702 ("Unreachable code") for the WPO/PGO builds.
1390 # Probably anything that this would catch that wouldn't be caught in a 1390 # Probably anything that this would catch that wouldn't be caught in a
1391 # normal build isn't going to actually be a bug, so the incremental 1391 # normal build isn't going to actually be a bug, so the incremental
1392 # value of C4702 for PGO builds is likely very small. 1392 # value of C4702 for PGO builds is likely very small.
1393 "/wd4702", 1393 "/wd4702",
1394 ] 1394 ]
1395 } 1395 }
1396 } else { 1396 } else {
1397 cflags = [ "-O2" ] + common_optimize_on_cflags 1397 cflags = [ "-O2" ] + common_optimize_on_cflags
1398 } 1398 }
1399 } 1399 }
1400 } 1400 }
1401 1401
1402 # This config can be used to override the default settings for per-component
1403 # and whole-program optimization, optimizing the particular target for speed
1404 # instead of code size. This should be used carefully by people who know
1405 # exactly what they want; nearly every component should use "optimize_max"
1406 # instead.
1407 # TODO(crbug.com/621335) - rework how all of these configs are related
1408 # so that we don't need this disclaimer.
1409 config("optimize_posix_target_for_speed") {
1410 cflags = [ "-O3" ] + common_optimize_on_cflags
1411 }
1412
1402 # The default optimization applied to all targets. This will be equivalent to 1413 # The default optimization applied to all targets. This will be equivalent to
1403 # either "optimize" or "no_optimize", depending on the build flags. 1414 # either "optimize" or "no_optimize", depending on the build flags.
1404 config("default_optimization") { 1415 config("default_optimization") {
1405 if (is_nacl_irt) { 1416 if (is_nacl_irt) {
1406 # The NaCl IRT is a special case and always wants its own config. 1417 # The NaCl IRT is a special case and always wants its own config.
1407 # It gets optimized the same way regardless of the type of build. 1418 # It gets optimized the same way regardless of the type of build.
1408 configs = [ "//build/config/nacl:irt_optimize" ] 1419 configs = [ "//build/config/nacl:irt_optimize" ]
1409 } else if (is_debug) { 1420 } else if (is_debug) {
1410 configs = [ ":no_optimize" ] 1421 configs = [ ":no_optimize" ]
1411 } else { 1422 } else {
(...skipping 89 matching lines...) Expand 10 before | Expand all | Expand 10 after
1501 1512
1502 if (is_ios || is_mac) { 1513 if (is_ios || is_mac) {
1503 # On Mac and iOS, this enables support for ARC (automatic ref-counting). 1514 # On Mac and iOS, this enables support for ARC (automatic ref-counting).
1504 # See http://clang.llvm.org/docs/AutomaticReferenceCounting.html. 1515 # See http://clang.llvm.org/docs/AutomaticReferenceCounting.html.
1505 config("enable_arc") { 1516 config("enable_arc") {
1506 common_flags = [ "-fobjc-arc" ] 1517 common_flags = [ "-fobjc-arc" ]
1507 cflags_objc = common_flags 1518 cflags_objc = common_flags
1508 cflags_objcc = common_flags 1519 cflags_objcc = common_flags
1509 } 1520 }
1510 } 1521 }
OLDNEW
« no previous file with comments | « no previous file | third_party/opus/BUILD.gn » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698