Files
build_soong/cc
Pirama Arumuga Nainar ada83ec0a6 Add PGO support to soong
Bug: http://b/63768402
Bug: http://b/65598278

Add support for the 'pgo' property to specify how a module is processed
under PGO.  A sample property is below:

pgo: {
    instrumentation: true, // could be "sampling: true" when supported
    profile_file: "pgo_simple.profdata",
    benchmarks: ["pgo_simple"],
}

1. Runtime profiles can be gathered using "sampling" or
"instrumentation".  Sampling is not supported initially.

2. If 'toolchain/pgo-profiles' project is found,
'toolchain/pgo-profiles/${profile_file}' is passed to the compiler and
linker when building this module.

3. If ANDROID_PGO_INSTRUMENT environment variable is set, and includes a
benchmark in the 'benchmarks' list, appropriate flags (for e.g.
-fprofile-generate for instrumentation) are passed to the compiler and
linker when building this module.

Test: Add example modules that specify the pgo property and verify
appropriate flags and dependencies in the Ninja file.  Some
tests/examples are in https://android-review.googlesource.com/474805

Change-Id: I6242e0c904497a115e367dea6927ba1c4b906355
2017-09-21 12:37:19 -07:00
..
2017-09-18 23:33:25 -07:00
2017-09-21 12:37:19 -07:00
2017-09-21 12:37:19 -07:00
2017-05-09 13:44:49 -07:00
2017-06-30 21:08:36 +00:00
2017-09-18 23:33:25 -07:00
2017-08-31 13:48:52 -07:00
2017-09-21 12:37:19 -07:00
2017-09-20 13:16:13 -07:00
2017-09-01 14:21:44 +08:00
2017-08-31 13:48:52 -07:00
2017-08-31 13:48:52 -07:00
2017-06-30 21:08:36 +00:00
2017-09-21 12:37:19 -07:00
2017-08-31 13:48:52 -07:00
2016-08-01 14:36:22 -07:00
2017-05-10 11:04:16 -07:00
2017-08-23 12:54:54 +09:00
2016-07-29 15:17:58 -07:00
2017-09-18 16:51:35 -07:00
2017-06-30 21:08:36 +00:00
2017-08-17 14:57:12 -07:00