[clang] [llvm] [Github] Use building LLVM as perf-training for CI container (PR #80713)

Aiden Grossman via cfe-commits cfe-commits at lists.llvm.org
Mon Feb 5 12:58:30 PST 2024


================
@@ -0,0 +1,13 @@
+diff --git a/clang/cmake/caches/BOLT-PGO.cmake b/clang/cmake/caches/BOLT-PGO.cmake
+index 1a04ca9a74e5..d092820e4115 100644
+--- a/clang/cmake/caches/BOLT-PGO.cmake
++++ b/clang/cmake/caches/BOLT-PGO.cmake
+@@ -4,6 +4,8 @@ set(CLANG_BOOTSTRAP_TARGETS
+   stage2-clang-bolt
+   stage2-distribution
+   stage2-install-distribution
++  clang
++  lld
----------------
boomanaiden154 wrote:

Yes. `stage1` takes about an hour to build `stage2-instrumented takes about an hour and a half, generating the profile data takes about four hours, and building the final compiler takes about an hour. I've split the build so that stage 1 and stage2-instrumented are built in the first stage and the profile collection and stage2 are built afterwards. There's no explicit build target (from what I can gather) for building the `stage2-instrumented` compiler without doing profile data collection, so I've just added the targets explicitly here.

It's a hack and I don't think there's that much utility in doing this more broadly. If we wanted to make it less of  hack, we could add an explicit target to build the `stage2-instrumented` dependencies without doing the profile collection, but I think this hack works well enough for now and we should be able to move away from this once we have self-hosted runners setup.

https://github.com/llvm/llvm-project/pull/80713


More information about the cfe-commits mailing list