summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Treehugger Robot <android-test-infra-autosubmit@system.gserviceaccount.com> 2023-11-08 03:32:00 +0000
committer Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com> 2023-11-08 03:32:00 +0000
commit9865ce419b1f4eb1123e9b37c787b791ac71b14d (patch)
treee6240a1f0206a5e9e179fdf3047119dc161eb7ac
parent0b7bebe7225ddc2a560e0f972f9e1872202df24c (diff)
parent6a8eb37d90f983fba6e39d1634e238b6023fc554 (diff)
Merge "Only enable MLGO for ARM64 ThinLTO targets" into main am: 6a8eb37d90
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/2817703 Change-Id: I7e49577418fdf4f564534f73b15e064318585df2 Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
-rw-r--r--cc/config/global.go5
-rw-r--r--cc/lto.go13
2 files changed, 9 insertions, 9 deletions
diff --git a/cc/config/global.go b/cc/config/global.go
index 892a86c7e..2ca9df9a1 100644
--- a/cc/config/global.go
+++ b/cc/config/global.go
@@ -174,9 +174,6 @@ var (
"-Werror=format-security",
"-nostdlibinc",
- // Enable MLGO for register allocation.
- "-mllvm -regalloc-enable-advisor=release",
-
// Emit additional debug info for AutoFDO
"-fdebug-info-for-profiling",
}
@@ -205,8 +202,6 @@ var (
"-Wl,--exclude-libs,libgcc_stripped.a",
"-Wl,--exclude-libs,libunwind_llvm.a",
"-Wl,--exclude-libs,libunwind.a",
- // Enable MLGO for register allocation.
- "-Wl,-mllvm,-regalloc-enable-advisor=release",
}
deviceGlobalLldflags = append(append(deviceGlobalLdflags, commonGlobalLldflags...),
diff --git a/cc/lto.go b/cc/lto.go
index 20e4f2465..fb3b485b6 100644
--- a/cc/lto.go
+++ b/cc/lto.go
@@ -147,10 +147,15 @@ func (lto *lto) flags(ctx BaseModuleContext, flags Flags) Flags {
}
}
- // For ML training
- if ctx.Config().IsEnvTrue("THINLTO_EMIT_INDEXES_AND_IMPORTS") {
- ltoLdFlags = append(ltoLdFlags, "-Wl,--save-temps=import")
- ltoLdFlags = append(ltoLdFlags, "-Wl,--thinlto-emit-index-files")
+ // Register allocation MLGO flags for ARM64.
+ if ctx.Arch().ArchType == android.Arm64 {
+ ltoCFlags = append(ltoCFlags, "-mllvm -regalloc-enable-advisor=release")
+ ltoLdFlags = append(ltoLdFlags, "-Wl,-mllvm,-regalloc-enable-advisor=release")
+ // Flags for training MLGO model.
+ if ctx.Config().IsEnvTrue("THINLTO_EMIT_INDEXES_AND_IMPORTS") {
+ ltoLdFlags = append(ltoLdFlags, "-Wl,--save-temps=import")
+ ltoLdFlags = append(ltoLdFlags, "-Wl,--thinlto-emit-index-files")
+ }
}
flags.Local.CFlags = append(flags.Local.CFlags, ltoCFlags...)