platform_build_soong/cc
Yi Kong 8aeaa7158a Add opt-in option to turn on ThinLTO caching
Allow developers to enable ThinLTO caching on their local build by
setting USE_THINLTO_CACHE environment variable.

This significantly speeds up incremental ThinLTO builds by caching
intermediate results. An incremental ART build (by `touch
compiler/compiler.cc`) reduced from 01:32 to 00:45.

We put the cache under out/soong/thinlto-cache as the cache can be
valid across different targets, and allows us to set a global cache
pruning policy.

The current cache policy is sufficient for current list of
ThinLTO-enabled projects, we can tune it up/down in the future.

Test: USE_THINLTO_CACHE=true m
Bug: 62839002
Change-Id: I4838fe833a1d8fbc73d743da6d19e3698dc89600
2018-03-12 16:54:58 -07:00
..
config Revert "Fix absolute paths in clang debug output" 2018-03-08 17:10:54 -08:00
libbuildversion add a library to report build numbers without causing rebuilds 2018-03-02 16:55:51 -08:00
androidmk.go Add target_arch to vndk prebuilt module name 2018-01-04 11:02:39 +09:00
binary.go add a library to report build numbers without causing rebuilds 2018-03-02 16:55:51 -08:00
builder.go Use xz prebuilt 2018-03-09 10:53:26 -08:00
cc.go Allow proto properties in cc/java_defaults 2018-03-08 13:34:34 -08:00
cc_test.go Support VNDK extensions 2018-01-23 01:40:54 +00:00
check.go Allow macro definition with space 2017-10-19 22:39:32 +09:00
cmakelists.go Make *Context.Config return a Config instead of a interface{} 2017-11-30 00:44:11 +00:00
compiler.go Remove obsolete Brillo variable 2018-03-10 15:29:03 -08:00
coverage.go Add VisitDirectDepsWithTag 2018-01-02 18:23:43 -08:00
gen.go Add proto.canonical_path_from_root 2018-02-22 16:48:35 -08:00
gen_stub_libs.py Ignore 'extern "C++"' section in a version script 2017-11-21 20:31:48 +01:00
gen_test.go Fix using aidl files from filegroups 2017-11-17 11:22:08 -08:00
genrule.go Add cc_genrule 2017-09-18 23:33:25 -07:00
installer.go Change bool, and string properties to *bool, and *string for cc 2017-11-07 15:57:16 -08:00
kernel_headers.go Fix kernel_headers module registration 2017-07-10 12:30:35 -07:00
library.go add a library to report build numbers without causing rebuilds 2018-03-02 16:55:51 -08:00
library_test.go Add cc_library tests 2017-11-17 11:22:04 -08:00
linker.go add a library to report build numbers without causing rebuilds 2018-03-02 16:55:51 -08:00
llndk_library.go Turn GlobFiles into a Glob for files, use it 2018-03-01 14:05:20 -08:00
lto.go Add opt-in option to turn on ThinLTO caching 2018-03-12 16:54:58 -07:00
makevars.go Remove obsolete Brillo variable 2018-03-10 15:29:03 -08:00
ndk_headers.go Turn GlobFiles into a Glob for files, use it 2018-03-01 14:05:20 -08:00
ndk_library.go Add compile-time pathDeps as implicit dependencies 2017-12-19 15:44:38 -08:00
ndk_prebuilt.go Remove support for stlport. 2018-01-05 10:59:33 -08:00
ndk_sysroot.go Allow NDK static libraries to use the NDK sysroot. 2017-12-14 14:13:56 -08:00
object.go Change bool, and string properties to *bool, and *string for cc 2017-11-07 15:57:16 -08:00
pgo.go Use a versioned profile file if available 2018-03-09 16:05:54 +00:00
prebuilt.go Move ModuleContext.ModuleBuild to ModuleContext.Build 2017-10-24 10:59:00 -07:00
proto.go Add proto.canonical_path_from_root 2018-02-22 16:48:35 -08:00
pylintrc Don't warn for TODOish comments. 2016-08-01 14:36:22 -07:00
relocation_packer.go Replace ModuleContext.AConfig() with Config() 2017-11-30 00:44:18 +00:00
rs.go Add system_$(VER) 2017-12-01 00:41:59 +00:00
sabi.go Create a make variable for all lsdump files. 2018-03-01 17:19:25 -08:00
sanitize.go Add minimal-runtime support for integer overflows. 2018-03-07 18:41:20 -08:00
stl.go Use the platform -std= for sdk_version. 2018-02-20 15:27:45 +00:00
strip.go Replace ModuleContext.AConfig() with Config() 2017-11-30 00:44:18 +00:00
test.go Fix NDK gtest name. 2018-02-21 22:54:18 +00:00
test_data_test.go Let tests override environment 2017-10-10 23:28:43 -07:00
test_gen_stub_libs.py Add support for weak symbols in the NDK stubs. 2017-07-28 11:00:22 -07:00
tidy.go Call clang-tidy with -fno-caret-diagnostics by default. 2018-01-04 01:41:16 -08:00
toolchain_library.go Change bool, and string properties to *bool, and *string for cc 2017-11-07 15:57:16 -08:00
util.go Add proto.canonical_path_from_root 2018-02-22 16:48:35 -08:00
vndk.go Only emit enabled VNDK libraries 2018-02-16 22:16:29 +09:00
vndk_prebuilt.go Skip installing the VNDK prebuilt if arch does not match 2018-01-24 07:52:47 +09:00