1*6777b538SAndroid Build Coastguard Worker# Copyright 2016 The Chromium Authors 2*6777b538SAndroid Build Coastguard Worker# Use of this source code is governed by a BSD-style license that can be 3*6777b538SAndroid Build Coastguard Worker# found in the LICENSE file. 4*6777b538SAndroid Build Coastguard Worker 5*6777b538SAndroid Build Coastguard Workerimport("//build/config/cast.gni") 6*6777b538SAndroid Build Coastguard Workerimport("//build/config/chrome_build.gni") 7*6777b538SAndroid Build Coastguard Workerimport("//build/config/chromeos/ui_mode.gni") 8*6777b538SAndroid Build Coastguard Workerimport("//build/config/cronet/config.gni") 9*6777b538SAndroid Build Coastguard Workerimport("//build/config/dcheck_always_on.gni") 10*6777b538SAndroid Build Coastguard Workerimport("//build/config/features.gni") 11*6777b538SAndroid Build Coastguard Workerimport("//build/config/ios/config.gni") 12*6777b538SAndroid Build Coastguard Worker 13*6777b538SAndroid Build Coastguard Workerdeclare_args() { 14*6777b538SAndroid Build Coastguard Worker # Specify the current PGO phase. 15*6777b538SAndroid Build Coastguard Worker # Here's the different values that can be used: 16*6777b538SAndroid Build Coastguard Worker # 0 : Means that PGO is turned off. 17*6777b538SAndroid Build Coastguard Worker # 1 : Used during the PGI (instrumentation) phase. 18*6777b538SAndroid Build Coastguard Worker # 2 : Used during the PGO (optimization) phase. 19*6777b538SAndroid Build Coastguard Worker # PGO profiles are generated from `dcheck_always_on = false` builds. Mixing 20*6777b538SAndroid Build Coastguard Worker # those profiles with `dcheck_always_on = true` builds can cause the compiler 21*6777b538SAndroid Build Coastguard Worker # to think some code is hotter than it actually is, potentially causing very 22*6777b538SAndroid Build Coastguard Worker # bad compile times. 23*6777b538SAndroid Build Coastguard Worker chrome_pgo_phase = 0 24*6777b538SAndroid Build Coastguard Worker if (!is_cronet_build && !dcheck_always_on && is_official_build && 25*6777b538SAndroid Build Coastguard Worker # TODO(crbug.com/1336055): Update this now-outdated condition with regard 26*6777b538SAndroid Build Coastguard Worker # to chromecast and determine whether chromeos_is_browser_only is 27*6777b538SAndroid Build Coastguard Worker # obsolete. 28*6777b538SAndroid Build Coastguard Worker (is_high_end_android || is_win || is_mac || is_fuchsia || 29*6777b538SAndroid Build Coastguard Worker (is_linux && !is_castos) || 30*6777b538SAndroid Build Coastguard Worker (is_ios && use_blink && target_environment == "device") || 31*6777b538SAndroid Build Coastguard Worker (is_chromeos_lacros && is_chromeos_device))) { 32*6777b538SAndroid Build Coastguard Worker chrome_pgo_phase = 2 33*6777b538SAndroid Build Coastguard Worker } 34*6777b538SAndroid Build Coastguard Worker 35*6777b538SAndroid Build Coastguard Worker # When using chrome_pgo_phase = 2, read profile data from this path. 36*6777b538SAndroid Build Coastguard Worker pgo_data_path = "" 37*6777b538SAndroid Build Coastguard Worker} 38