platform_build_soong/cc
Yi Kong 2f5f16d574 Tweak ThinLTO inling heuristics in absense of PGO profile
We previously disabled inlining and unrolling completely during ThinLTO
in absense of PGO profile. For global ThinLTO, we want to better balance
binary size and performance.

We evaluated a number of combination of heuristics with global ThinLTO
configuration:
                                binary size change
  no LTO                          baseline
  no inline, no unroll            -0.54%
  no inline, unroll               -0.50%
  import-instr-limit=5, unroll    +0.02%
  import-instr-limit=10, unroll   +0.13%

Loop unrolling does not contribute much to the binary size, therefore
it is re-enabled.

import-instr-limit=5 balances the binary size savings from ThinLTO and
size incrase due to additional optimisation.

Bug: 78485207
Bug: 169004486
Test: TreeHugger
Change-Id: I1c21153605e2ae42daa8857b06e27c081ee8ad85
2020-09-23 01:32:06 +08:00
..
config Merge "Switch to clang-r399163." 2020-09-22 16:40:02 +00:00
libbuildversion Set apex_available property 2020-04-28 21:08:58 +09:00
ndk_api_coverage_parser Fix non-determinism in tests. 2020-07-16 13:23:33 -07:00
ndkstubgen Get NDK python script tests running. 2020-07-16 13:23:29 -07:00
symbolfile Get NDK python script tests running. 2020-07-16 13:23:29 -07:00
Android.bp Replace stringly-typed API levels. 2020-09-18 12:41:28 -07:00
androidmk.go Replace stringly-typed API levels. 2020-09-18 12:41:28 -07:00
api_level.go Replace stringly-typed API levels. 2020-09-18 12:41:28 -07:00
binary.go cc: export Stripper struct 2020-08-27 10:13:42 +02:00
binary_sdk_member.go Only request image and version variations for device SDK dependencies 2020-08-26 11:51:51 -07:00
builder.go Merge "Check UseRBE is set before replacing any template with the RE version." 2020-09-10 09:24:17 +00:00
cc.go Replace stringly-typed API levels. 2020-09-18 12:41:28 -07:00
cc_test.go Add vendor snapshot usage test 2020-09-07 19:56:43 +09:00
ccdeps.go Add soong cc and java deps to general-tests dist 2020-07-06 16:19:56 -07:00
cflag_artifacts.go Simple refactoring of prefix related functions. 2020-02-14 14:33:49 -08:00
check.go Forbid -Weverything 2019-11-12 15:55:03 -08:00
cmakelists.go Sandbox soong_build by changing to root directory 2020-01-11 01:11:46 +00:00
compdb.go Sandbox soong_build by changing to root directory 2020-01-11 01:11:46 +00:00
compiler.go Merge "Add -D__ANDROID_NATIVE_BRIDGE__ to native_bridge targets" 2020-09-17 19:09:03 +00:00
compiler_test.go Expand ClangExtraExternalCflags to non-Google vendor projects 2019-11-11 13:24:39 -08:00
coverage.go Merge "Add libraryDependencyTag to track dependencies on static and shared libraries" 2020-08-06 00:06:28 +00:00
fuzz.go Support ninja rsp files in soong_zip 2020-08-19 21:18:56 +00:00
gen.go soong: add support for module specific lexer flags 2020-08-26 21:41:33 +01:00
gen_test.go Use empty string for core image variant 2019-12-13 20:44:36 -08:00
genrule.go Add exclude_from_vendor_snapshot property, related logic 2020-09-02 22:27:45 +00:00
genrule_test.go Add alias variations to linkageMutator 2020-08-06 18:46:06 -07:00
image.go Add exclude_from_vendor_snapshot property, related logic 2020-09-02 22:27:45 +00:00
installer.go Only output make targets for uninstallable static libs in the APEX 2020-08-06 22:52:58 +01:00
kernel_headers.go Change exportedDirs and exportedSystemDirs from []string to android.Paths 2019-10-25 09:52:08 +09:00
library.go cc: export Stripper struct 2020-08-27 10:13:42 +02:00
library_headers.go Disable all host OS variants except those explicitly included. 2020-08-03 21:06:50 +01:00
library_headers_test.go Add cc_prebuilt_library_headers 2020-04-22 12:51:24 +01:00
library_sdk_member.go Make generated library SDK snapshots determinstic 2020-09-11 23:10:39 +00:00
library_test.go Apex: support codenames for min_sdk_version 2020-04-09 16:04:17 +09:00
linkable.go Add libraryDependencyTag to track dependencies on static and shared libraries 2020-07-29 13:22:30 -07:00
linker.go Add exclude_shared_libs, expand exclude_static_libs to cover static_libs 2020-06-24 21:57:46 +02:00
llndk_library.go cc: export Stripper struct 2020-08-27 10:13:42 +02:00
lto.go Tweak ThinLTO inling heuristics in absense of PGO profile 2020-09-23 01:32:06 +08:00
makevars.go Remove M4 export to Make 2020-08-07 13:45:45 -07:00
ndk_headers.go Remove unused mips workarounds. 2020-03-06 18:15:44 -08:00
ndk_library.go Replace stringly-typed API levels. 2020-09-18 12:41:28 -07:00
ndk_prebuilt.go apex/apk: enforce min_sdk_version of all deps 2020-06-24 02:00:33 +09:00
ndk_sysroot.go Expose some factories for aidl_test.go 2019-12-09 18:21:48 +09:00
object.go Stop using prebuilt NDK CRT objects. 2020-08-11 15:06:55 -07:00
object_test.go Allow linker scripts when building objects. 2019-08-22 13:21:37 -07:00
pgo.go Revert "Revert "[pgo] Return updated Flags after adding flags for PGO/AFDO"" 2020-09-02 17:44:06 +00:00
prebuilt.go Symlink prebuilt binaries on host. 2020-09-03 19:05:18 +01:00
prebuilt_test.go Disable the prebuilt host binary test on darwin. 2020-09-15 02:56:19 +01:00
proto.go Split local and global cflags 2019-11-07 15:27:58 -08:00
proto_test.go Use empty string for core image variant 2019-12-13 20:44:36 -08:00
pylintrc Fix pylint issues in gen_stub_libs. 2020-07-16 13:21:43 -07:00
rs.go Remove obsolete PDK build functionality 2020-08-11 01:11:44 +00:00
sabi.go Add libraryDependencyTag to track dependencies on static and shared libraries 2020-07-29 13:22:30 -07:00
sanitize.go Merge "Add exclude_from_vendor_snapshot property, related logic" am: e1359af34d 2020-09-03 18:06:37 +00:00
sdk.go Build against SDKs for native libs only for unbundled apps. 2020-06-17 04:28:27 +01:00
sdk_test.go Add sdk mutator for native modules 2020-04-27 14:45:05 -07:00
snapshot_utils.go Add exclude_from_vendor_snapshot property, related logic 2020-09-02 22:27:45 +00:00
stl.go Replace stringly-typed API levels. 2020-09-18 12:41:28 -07:00
strip.go cc: export Stripper struct 2020-08-27 10:13:42 +02:00
sysprop.go Implement sysprop_library API stability check 2019-08-23 06:28:34 +00:00
test.go Use alias for test_per_src apex dependencies 2020-09-11 16:02:24 -07:00
test_data_test.go Move filesystem into Config 2019-12-18 08:19:10 -08:00
testing.go Add vendor snapshot usage test 2020-09-07 19:56:43 +09:00
tidy.go Allow globally disabling some clang-tidy checks. 2020-08-18 13:28:03 -07:00
toolchain_library.go cc: export Stripper struct 2020-08-27 10:13:42 +02:00
util.go Merge "soong: add support for module specific lexer flags" 2020-08-28 19:24:01 +00:00
vendor_public_library.go cc: export Stripper struct 2020-08-27 10:13:42 +02:00
vendor_snapshot.go Heed SkipInstall flag when adding install rules for vendor-snapshot. 2020-09-14 22:15:42 +01:00
vndk.go apex: support prebuilt_firmware for vendor apexes 2020-09-01 10:45:13 +09:00
vndk_prebuilt.go cc: export Stripper struct 2020-08-27 10:13:42 +02:00