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

Commit 56fc1b69 authored by Yi Kong's avatar Yi Kong
Browse files

Do not enable global ThinLTO for tests

Tests are not shipped, no need to spend extra CPU cycles optimising them
during build.

Test: GLOBAL_THINLTO=true m
Bug: 169004486
Change-Id: I66ede9c01d43b574a7fe9f74f0bc6ba97f51be06
parent 0228d279
Loading
Loading
Loading
Loading
+5 −0
Original line number Diff line number Diff line
@@ -485,6 +485,7 @@ type ModuleContextIntf interface {
	static() bool
	staticBinary() bool
	testBinary() bool
	testLibrary() bool
	header() bool
	binary() bool
	object() bool
@@ -1486,6 +1487,10 @@ func (ctx *moduleContextImpl) testBinary() bool {
	return ctx.mod.testBinary()
}

func (ctx *moduleContextImpl) testLibrary() bool {
	return ctx.mod.testLibrary()
}

func (ctx *moduleContextImpl) header() bool {
	return ctx.mod.Header()
}
+3 −2
Original line number Diff line number Diff line
@@ -140,12 +140,13 @@ func (lto *lto) DefaultThinLTO(ctx BaseModuleContext) bool {
	lib32 := ctx.Arch().ArchType.Multilib == "lib32"
	// CFI enables full LTO.
	cfi := ctx.isCfi()
	// Performance and binary size are less important for host binaries.
	// Performance and binary size are less important for host binaries and tests.
	host := ctx.Host()
	test := ctx.testBinary() || ctx.testLibrary()
	// FIXME: ThinLTO for VNDK produces different output.
	// b/169217596
	vndk := ctx.isVndk()
	return GlobalThinLTO(ctx) && !lto.Never() && !lib32 && !cfi && !host && !vndk
	return GlobalThinLTO(ctx) && !lto.Never() && !lib32 && !cfi && !host && !test && !vndk
}

func (lto *lto) FullLTO() bool {