Merge "Tweak ThinLTO inling heuristics in absense of PGO profile" am: 76a5ba81e2 am: 280fdb9610

Original change: https://android-review.googlesource.com/c/platform/build/soong/+/1433954

Change-Id: Id01257725269cb35a1585bd83679cb444bb5b316
This commit is contained in:
Yi Kong
2020-09-23 05:30:38 +00:00
committed by Automerger Merge Worker

View File

@@ -117,12 +117,11 @@ func (lto *lto) flags(ctx BaseModuleContext, flags Flags) Flags {
flags.Local.LdFlags = append(flags.Local.LdFlags, cachePolicyFormat+policy)
}
// If the module does not have a profile, be conservative and do not inline
// or unroll loops during LTO, in order to prevent significant size bloat.
// If the module does not have a profile, be conservative and limit cross TU inline
// limit to 5 LLVM IR instructions, to balance binary size increase and performance.
if !ctx.isPgoCompile() {
flags.Local.LdFlags = append(flags.Local.LdFlags,
"-Wl,-plugin-opt,-inline-threshold=0",
"-Wl,-plugin-opt,-unroll-threshold=0")
"-Wl,-plugin-opt,-import-instr-limit=5")
}
}
return flags