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}
|
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
|
// afdoEnabled returns true for binaries and shared libraries
|
||||||
// that set afdo prop to True and there is a profile available
|
// that set afdo prop to True and there is a profile available
|
||||||
func (afdo *afdo) afdoEnabled() bool {
|
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 {
|
if c.coverage != nil {
|
||||||
c.coverage.begin(ctx)
|
c.coverage.begin(ctx)
|
||||||
}
|
}
|
||||||
|
if c.afdo != nil {
|
||||||
|
c.afdo.begin(ctx)
|
||||||
|
}
|
||||||
if c.lto != nil {
|
if c.lto != nil {
|
||||||
c.lto.begin(ctx)
|
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
|
// better dead code elimination and CFG simplification, but do
|
||||||
// not perform costly optimizations for a balance between compile
|
// not perform costly optimizations for a balance between compile
|
||||||
// time, binary size and performance.
|
// 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")
|
ltoLdFlags = append(ltoLdFlags, "-Wl,--lto-O0")
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user