platform_build_soong/cc
Yi Kong add6375a10 Turn on Global ThinLTO by default
Build C/C++ targets with ThinLTO with "--lto-O0" by default. This takes
advantage of better dead code elimination and CFG simplification due to
ThinLTO's global view of the program, but do not enable the costly LTO
optimizations. This also makes builds faster because we can avoid doing
codegen for the dead code.

Code size for panther-userdebug:
                   /system/bin  /system/lib  /system/lib64
Original           57648        86264        181700
Global ThinLTO     55764        84916        175728
                   -3.27%       -1.56%       -3.29%

Build time for aosp_arm64-userdebug:
                   clang time   linker time
Original           56993.87s    1712.36s
Global ThinLTO     52839.18s    3114.93s

saving 4.68% build time in total.

Bug: 169004486
Test: presubmit
Change-Id: Idb0f4675ca4750b8b12b24f4679579419d3448c8
2023-07-11 21:26:52 +09:00
..
config bp2build conversion for rscript srcs in cc modules 2023-06-21 14:58:10 +00:00
libbuildversion
ndk_api_coverage_parser Remove OWNERS access for non-build team people to core build system 2023-02-28 19:29:47 -08:00
ndkstubgen
symbolfile
afdo.go Add comment for afdo flag 2023-07-05 15:48:21 +00:00
afdo_test.go Enable -funique-internal-linkage-names when afdo=true 2023-04-21 14:41:55 -07:00
Android.bp Use aidl_library in cc libraries 2023-05-15 17:09:22 -04:00
androidmk.go Install sdk variants in unbundled builds and package uninstallable variants 2023-05-02 15:37:26 +00:00
api_level.go Disable VNDK apexes for unsupported API levels 2023-01-27 19:49:38 +00:00
binary.go Add implementation whole archive deps to binaries 2023-06-15 15:01:30 -07:00
binary_sdk_member.go
binary_test.go Export Soong module type to LOCAL_SOONG_MODULE_TYPE to Make for SBOM generation. 2023-03-06 22:51:03 +00:00
bp2build.go Merge "Handle no generated headers and exporting for xsd" 2023-06-26 21:20:46 +00:00
builder.go Fix addrsig warnings 2023-04-14 14:31:14 -07:00
cc.go Merge "Remove special-casing of DCLA libraries" 2023-06-28 04:38:35 +00:00
cc_test.go Turn on Global ThinLTO by default 2023-07-11 21:26:52 +09:00
ccdeps.go Parallelize singleton execution 2023-05-19 20:31:32 +00:00
check.go Allow "-mllvm foo" cflags 2023-03-12 16:31:10 +09:00
cmakelists.go Parallelize singleton execution 2023-05-19 20:31:32 +00:00
compdb.go Parallelize singleton execution 2023-05-19 20:31:32 +00:00
compiler.go Sandbox inputs to aidl rule in cc 2023-05-23 15:53:10 -04:00
compiler_test.go
coverage.go Make filesystem aware of coverage 2023-03-16 13:11:17 +09:00
fdo_profile.go Reimplement afdo support for rust 2023-03-31 17:55:16 -04:00
fuzz.go rust: Bundle Rust shared dependencies in fuzzers 2023-06-09 14:17:49 -04:00
gen.go Sandbox inputs to aidl rule in cc 2023-05-23 15:53:10 -04:00
gen_test.go
genrule.go soong: add os name to cc_genrule 2022-12-01 20:01:03 +00:00
genrule_test.go
image.go
image_sdk_traits.go
installer.go Revert "Use installExecutable for cc binaries" 2023-06-14 07:38:44 +00:00
kernel_headers.go
library.go Use generics for DepSets 2023-06-22 08:18:33 -07:00
library_headers.go Ignore test apexes from bp2build generated tags 2023-04-27 23:24:49 +00:00
library_headers_test.go Make more cc tests parallel 2022-12-05 13:43:29 -05:00
library_sdk_member.go Replace SortedStringKeys with SortedKeys 2023-02-28 16:51:32 -08:00
library_stub.go Implement API surface import with APEX stub 2023-02-27 12:57:30 +09:00
library_stub_test.go Implement API surface import with APEX stub 2023-02-27 12:57:30 +09:00
library_test.go Export Soong module type to LOCAL_SOONG_MODULE_TYPE to Make for SBOM generation. 2023-03-06 22:51:03 +00:00
linkable.go Use generics for DepSets 2023-06-22 08:18:33 -07:00
linker.go Supporting changes for CFI toolchain features 2023-03-27 18:07:40 +00:00
llndk_library.go
lto.go Turn on Global ThinLTO by default 2023-07-11 21:26:52 +09:00
lto_test.go Add GLOBAL_THINLTO env fixture to lto_test 2023-06-14 14:28:30 +08:00
makevars.go Add noOverride64GlobalCflags support to Soong 2023-01-25 04:02:29 +00:00
native_bridge_sdk_trait.go
ndk_abi.go Parallelize singleton execution 2023-05-19 20:31:32 +00:00
ndk_headers.go Deprecate api bp2build of ndk_library and ndk_headers 2023-05-31 03:44:51 +00:00
ndk_library.go Deprecate api bp2build of ndk_library and ndk_headers 2023-05-31 03:44:51 +00:00
ndk_prebuilt.go Use generics for DepSets 2023-06-22 08:18:33 -07:00
ndk_sysroot.go Parallelize singleton execution 2023-05-19 20:31:32 +00:00
ndk_test.go
object.go Merge "Fix addrsig warnings" 2023-05-15 19:07:58 +00:00
object_test.go Include NDK CRT object variants in the sysroot. 2023-04-04 23:27:15 +00:00
OWNERS Remove OWNERS access for non-build team people to core build system 2023-02-28 19:29:47 -08:00
pgo.go
prebuilt.go Use generics for DepSets 2023-06-22 08:18:33 -07:00
prebuilt_test.go Do not install prebuilt stubs from module_sdk 2023-03-28 18:19:04 +09:00
proto.go Ignore test apexes from bp2build generated tags 2023-04-27 23:24:49 +00:00
proto_test.go
pylintrc
rs.go bp2build conversion for rscript srcs in cc modules 2023-06-21 14:58:10 +00:00
sabi.go Add header_abi_checker properties for vendor, product, and platform 2022-12-28 18:50:38 +08:00
sanitize.go Merge "[MTE] Add memtag_globals as a sanitizer target." 2023-06-26 05:50:11 +00:00
sanitize_test.go New test for propagation of CFI 2023-04-13 14:46:40 +00:00
sdk.go Install sdk variants in unbundled builds and package uninstallable variants 2023-05-02 15:37:26 +00:00
sdk_test.go Install sdk variants in unbundled builds and package uninstallable variants 2023-05-02 15:37:26 +00:00
snapshot_prebuilt.go Use generics for DepSets 2023-06-22 08:18:33 -07:00
snapshot_utils.go
stl.go Use platform libc++ for riscv64 sdk variants 2023-01-26 15:40:58 -08:00
strip.go
stub_library.go Parallelize singleton execution 2023-05-19 20:31:32 +00:00
sysprop.go Ignore test apexes from bp2build generated tags 2023-04-27 23:24:49 +00:00
test.go Support test runnner option in auto generated test configs 2023-05-26 21:34:22 +00:00
test_data_test.go
testing.go Drop redundant libraries from baseline apexAvailable map 2023-05-05 22:52:33 +00:00
tidy.go Parallelize singleton execution 2023-05-19 20:31:32 +00:00
tidy_test.go
util.go Include license information for vendor and host snapshots 2023-04-25 18:03:32 +09:00
vendor_public_library.go
vendor_public_library_test.go
vendor_snapshot.go APEX can use any Prebuilt libraries 2023-05-08 22:33:35 +09:00
vendor_snapshot_test.go APEX can use any Prebuilt libraries 2023-05-08 22:33:35 +09:00
vndk.go Parallelize singleton execution 2023-05-19 20:31:32 +00:00
vndk_prebuilt.go