Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit e236b5ac authored by Pirama Arumuga Nainar's avatar Pirama Arumuga Nainar
Browse files

Support instrumenting all PGO-enabled modules

Bug: http://b/63768402

If ANDROID_PGO_INSTRUMENT has "all" or "ALL", all PGO-enabled modules
are built for profile generation.

Test: Build with and without 'all' in ANDROID_PGO_INSTRUMENT
Change-Id: I3b1a9b562775e80a4ab3965100341d9e8e4ffde9
parent d89f6621
Loading
Loading
Loading
Loading
+9 −5
Original line number Diff line number Diff line
@@ -197,7 +197,7 @@ func (pgo *pgo) begin(ctx BaseModuleContext) {
	}

	// This module should be instrumented if ANDROID_PGO_INSTRUMENT is set
	// and includes a benchmark listed for this module
	// and includes 'all', 'ALL' or a benchmark listed for this module.
	//
	// TODO Validate that each benchmark instruments at least one module
	pgo.Properties.ShouldProfileModule = false
@@ -207,6 +207,9 @@ func (pgo *pgo) begin(ctx BaseModuleContext) {
		pgoBenchmarksMap[b] = true
	}

	if pgoBenchmarksMap["all"] == true || pgoBenchmarksMap["ALL"] == true {
		pgo.Properties.ShouldProfileModule = true
	} else {
		for _, b := range pgo.Properties.Pgo.Benchmarks {
			if pgoBenchmarksMap[b] == true {
				pgo.Properties.ShouldProfileModule = true
@@ -214,6 +217,7 @@ func (pgo *pgo) begin(ctx BaseModuleContext) {
			}
		}
	}
}

func (pgo *pgo) deps(ctx BaseModuleContext, deps Deps) Deps {
	if pgo.Properties.ShouldProfileModule {