Merge "Do not perform AFDO or optimizing LTO for eng builds" into main
This commit is contained in:
@@ -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 {
|
||||
|
3
cc/cc.go
3
cc/cc.go
@@ -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)
|
||||
}
|
||||
|
@@ -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")
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user