Enable PGO for hwui

This patch is trying to apply PGO for hwui. According to some research
on PGO before, we got a 5% to 10% performance improvement with PGO on
hwui and we hope to enable it.

The patch specified a hwui.profdata file, which locates in internal
google_data/pgo_profile directory, to work as the profile to feed PGO.
This profdata can be re-collected through the PGO collecting script in
the benchmark directory, and it was based on hwuimicro/hwuimacro
benchmark for now.

PGO can be turned of by setting ANDROID_PGO_NO_PROFILE_USE environment
variable.

Test: Build hwui successfully and verified the performance improvement
on device through benchmark.
Bug: http://b/63768402

Change-Id: Ib63e5504be34bdfe49f6bc2c52964c30c81f1416
diff --git a/libs/hwui/Android.bp b/libs/hwui/Android.bp
index 124182f..ad6ce2c4 100644
--- a/libs/hwui/Android.bp
+++ b/libs/hwui/Android.bp
@@ -250,7 +250,17 @@
         // If enabled, every GLES call is wrapped & error checked
         // Has moderate overhead
         "hwui_enable_opengl_validation",
-],
+    ],
+
+    // Build libhwui with PGO by default.
+    // Location of PGO profile data is defined in build/soong/cc/pgo.go
+    // and is separate from hwui.
+    // To turn it off, set ANDROID_PGO_NO_PROFILE_USE environment variable.
+    pgo: {
+        instrumentation: true,
+        profile_file: "hwui/hwui.profdata",
+        benchmarks: ["hwui"],
+    },
 }
 
 // ------------------------