diff options
author | Yi Kong <yikong@google.com> | 2024-03-22 05:51:09 +0000 |
---|---|---|
committer | Gerrit Code Review <noreply-gerritcodereview@google.com> | 2024-03-22 05:51:09 +0000 |
commit | 55019c43f45b1ee0845e38b66d34b56515030fbf (patch) | |
tree | 660e085a9ec8f44ad199008d135cb7668d1cff2d | |
parent | ce23b9ba161c807737e72e04d3914e22f68a4268 (diff) | |
download | soong-55019c43f45b1ee0845e38b66d34b56515030fbf.tar.gz |
Revert "Enable full LTO optimization by default"
Revert submission 2988057-default-full-lto
Reason for revert: broken test
Reverted changes: /q/submissionid:2988057-default-full-lto
Bug: 330811070
Change-Id: I46487ad92d25741347c7f30e944a5794941d5d69
-rw-r--r-- | cc/lto.go | 11 |
1 files changed, 6 insertions, 5 deletions
@@ -54,9 +54,6 @@ type LTOProperties struct { // Use -fwhole-program-vtables cflag. Whole_program_vtables *bool - - // Use --lto-O0 flag. - Lto_O0 *bool } type lto struct { @@ -113,8 +110,12 @@ func (lto *lto) flags(ctx ModuleContext, flags Flags) Flags { ltoCFlags := []string{"-flto=thin", "-fsplit-lto-unit"} var ltoLdFlags []string - // Do not perform costly LTO optimizations for Eng builds. - if Bool(lto.Properties.Lto_O0) || ctx.Config().Eng() { + // The module did not explicitly turn on LTO. Only leverage LTO's + // better dead code elimination and CFG simplification, but do + // not perform costly optimizations for a balance between compile + // time, binary size and performance. + // Apply the same for Eng builds as well. + if !lto.ThinLTO() || ctx.Config().Eng() { ltoLdFlags = append(ltoLdFlags, "-Wl,--lto-O0") } |