Merge "Do not perform AFDO or optimizing LTO for eng builds" into main

This commit is contained in:
Yi Kong
2023-12-05 03:00:17 +00:00
committed by Gerrit Code Review
3 changed files with 12 additions and 1 deletions

View File

@@ -64,6 +64,13 @@ func (afdo *afdo) props() []interface{} {
return []interface{}{&afdo.Properties}
}
func (afdo *afdo) begin(ctx BaseModuleContext) {
// Disable on eng builds for faster build.
if ctx.Config().Eng() {
afdo.Properties.Afdo = false
}
}
// afdoEnabled returns true for binaries and shared libraries
// that set afdo prop to True and there is a profile available
func (afdo *afdo) afdoEnabled() bool {

View File

@@ -2401,6 +2401,9 @@ func (c *Module) begin(ctx BaseModuleContext) {
if c.coverage != nil {
c.coverage.begin(ctx)
}
if c.afdo != nil {
c.afdo.begin(ctx)
}
if c.lto != nil {
c.lto.begin(ctx)
}

View File

@@ -116,7 +116,8 @@ func (lto *lto) flags(ctx BaseModuleContext, flags Flags) Flags {
// better dead code elimination and CFG simplification, but do
// not perform costly optimizations for a balance between compile
// time, binary size and performance.
if !lto.ThinLTO() {
// Apply the same for Eng builds as well.
if !lto.ThinLTO() || ctx.Config().Eng() {
ltoLdFlags = append(ltoLdFlags, "-Wl,--lto-O0")
}