diff options
author | 2017-08-31 23:38:27 -0700 | |
---|---|---|
committer | 2017-09-21 12:37:19 -0700 | |
commit | ada83ec0a6dc677cffd0d29c10b48cbda477daf7 (patch) | |
tree | 5be48add3d9c89ce7c5b4e615642812f5aa7bb01 /python/binary.go | |
parent | d685385c6baf385c1d87bfa92dcd0f824a2cb09f (diff) |
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
Diffstat (limited to 'python/binary.go')
0 files changed, 0 insertions, 0 deletions