-
Notifications
You must be signed in to change notification settings - Fork 12.9k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[Flang] Remove FLANG_INCLUDE_RUNTIME #124126
base: main
Are you sure you want to change the base?
[Flang] Remove FLANG_INCLUDE_RUNTIME #124126
Conversation
3818238
to
b05c9a0
Compare
bd152c5
to
c515d13
Compare
Hi @Meinersbur is this the only patch that is left to be merged? Could you please rebase it so that I can try it on top-of-tree? |
8757bf4
to
698bcd0
Compare
698bcd0
to
b14ff22
Compare
Rebased and added implicitly adding |
Add `depends_on_projects=['flang-rt']`, and `checks=['check-flang-rt']` to the ppc64-flang-aix builder. The prepares the removal of the "projects" build of the flang runtime in llvm/llvm-project#124126. Split off from #333 Affected builders: * ppc64-flang-aix Affected workers: * ppc64-flang-aix-test (production) Admins listed for those workers: * LLVM on Power <powerllvm@ca.ibm.com> * Mark Danial <mark.danial@ibm.com>
Add `enable_runtimes=['flang-rt']`, `depends_on_projects=['flang-rt']`, and `add_lit_checks=['check-flang-rt']` to all OpenMPBuilder-based builders that build flang. This prepares the removal of the "projects" build of the flang runtime in llvm/llvm-project#124126. Split off from #333 Affected builders: * openmp-offload-amdgpu-clang-flang * openmp-offload-sles-build-only * openmp-offload-rhel-9_4 * openmp-offload-rhel-8_8 Affected workers: * rocm-worker-hw-01 (staging) * rocm-worker-hw-04-sles * rocm-worker-hw-04-rhel-9_4 (staging) * rocm-worker-hw-04-rhel-8_8 (staging) Admins listed for those workers: * AMD <dl.gcr.lightning.buildbot@amd.com>
Thank you for the rebase, @Meinersbur. Please give me some time to adjust build tools on my side to make it work with |
Add `depends_on_projects=['flang-rt']` and `checks=['check-flang-rt']` to Linaro's builders that are based on UnifiedTreeBuilder. This prepares the removal of the "projects" build of the flang runtime in llvm/llvm-project#124126. Affected builders: * flang-aarch64-dylib * flang-aarch64-sharedlibs * flang-aarch64-debug-reverse-iteration * flang-aarch64-libcxx * flang-aarch64-release * flang-aarch64-rel-assert * flang-aarch64-latest-gcc Affected workers: * linaro-flang-aarch64-dylib * linaro-flang-aarch64-sharedlibs * linaro-flang-aarch64-debug-reverse-iteration * linaro-flang-aarch64-libcxx * linaro-flang-aarch64-release * linaro-flang-aarch64-rel-assert * linaro-flang-aarch64-latest-gcc
With the option `checkout_flang=True`, ClangBuilder-based builders also compile Flang. Modify ClangBuilder to use `LLVM_ENABLE_RUNTIMES=flang-rt`. This prepares the removal of the "projects" build of the flang runtime in llvm/llvm-project#124126. Affected builders: * clang-aarch64-full-2stage * clang-aarch64-sve-vla * clang-aarch64-sve-vla-2stage * clang-aarch64-sve-vls * clang-aarch64-sve-vls-2stage * clang-aarch64-sve2-vla * clang-aarch64-sve2-vla-2stage * clang-arm64-windows-msvc * clang-arm64-windows-msvc-2stage Affected workers: * linaro-clang-aarch64-full-2stage * linaro-g3-01 * linaro-g3-02 * linaro-g3-03 * linaro-g3-04 * linaro-g4-01 * linaro-g4-02 * linaro-armv8-windows-msvc-04 * linaro-armv8-windows-msvc-02
Add `depends_on_projects=['flang-rt']`, to the amdgpu-offload-* builders. The prepares the removal of the "projects" build of the flang runtime in llvm/llvm-project#124126. The corresponding change in the LLVM repository is llvm/llvm-project#129692 Affected builders (production): * [amdgpu-offload-ubuntu-22-cmake-build-only](https://lab.llvm.org/buildbot/#/builders/203) * [amdgpu-offload-rhel-9-cmake-build-only](https://lab.llvm.org/buildbot/#/builders/205) * [amdgpu-offload-rhel-8-cmake-build-only](https://lab.llvm.org/buildbot/#/builders/204) Affected workers (production): * [rocm-docker-ubu-22](https://lab.llvm.org/buildbot/#/workers/162) * [rocm-docker-rhel-9](https://lab.llvm.org/buildbot/#/workers/163) * [rocm-docker-rhel-8](https://lab.llvm.org/buildbot/#/workers/164)
Add `depends_on_projects=['flang-rt']`, and `checks=['check-flang-rt']` to the ppc64le-flang-rhel-clang builder. The prepares the removal of the "projects" build of the flang runtime in llvm/llvm-project#124126. Affected builders (production): * [ppc64le-flang-rhel-clang](https://lab.llvm.org/buildbot/#/builders/157) Affected workers (production): * [ppc64le-flang-rhel-test](https://lab.llvm.org/buildbot/#/workers/152)
Update premerge-monolithic-windows and premerge-monolithic-linux to prepare for the removal of the "projects" build of the flang runtime in llvm/llvm-project#124126. This does not change the actual premerge GitHub action, which is done by llvm/llvm-project#128678 For premerge-monolithic-linux, add flang-rt to the LLVM_ENABLE_RUNTIMES list, indirectly by adding it to `depends_on_projects` which also updated the build scheduler. For premerge-monolithic-windows, remove building flang to match the actual pre-merge build which disabled building flang on Windows in llvm/llvm-project@e4b424a. Adding flang-rt would also require compiler-rt (which was always required on Windows, but now there is a regression test for it) and check-compiler-rt is currently failing. Split off from #333. Verified to work locally using instruction from https://llvm.org/docs/HowToAddABuilder.html#testing-a-builder-config-locally. With the exception of `-gmlt` which seems to be a Google-only extention of Clang. Affected builders: * [premerge-monolithic-windows](https://lab.llvm.org/buildbot/#/builders/35) * [premerge-monolithic-linux](https://lab.llvm.org/buildbot/#/builders/153) Affected workers: * [premerge-windows-1](https://lab.llvm.org/buildbot/#/workers/153) * [premerge-linux-1](https://lab.llvm.org/buildbot/#/workers/110)
Add `depends_on_projects=['flang-rt']` to the flang-runtime-cuda-gcc and flang-runtime-cuda-clang builders. This prepares the removal of the "projects" build of the flang runtime in llvm/llvm-project#124126. Affected builders: * flang-runtime-cuda-gcc This previously only built the runtime using the top-level CMakeLists.txt in `flang/runtime/CMakeLists.txt`. This is going to be replaced with the "standalone runtimes build", with the top-level `runtimes/CMakeLists.txt`. This still needs Flang to successed, hence replacing with a bootstrap-build where the `FLANG_RT_*` options are internally forwarded to the runtimes build. * flang-runtime-cuda-clang This is a manual bootstrapping build which first compiles Clang, then the runtime out-of-tree. This is replaced with a standalone runtimes build as described above. Because it needs Flang, also adding Flang to the enabled projects of the stage1 build. Neither build runs the `check-*` targets, probably due to the lack of actual CUDA hardware which running the runtime unittests require. Affected workers: * as-builder-7
Make `FlangBuilder.getFlangOutOfTreeBuildFactory` build the flang-rt runtime as an out-of-tree runtimes build with additional steps. Fixes some issues with FlangBuilder too: * Clears the build directories with the clean_obj flag set. Usually buildbot deletes the build directory whenever a CMakeLists.txt in a depends_on_projects subdirectory changes to get a clean build. Otherwise, an incompatible CMakeCache.txt will carry on forever. * Add `flang` and `flang-rt` as depends_on_projects. Otherwise, changes in these subdirectories do not trigger a build. Even worse, breaking commits will be attributed to the next commit in llvm/clang/mlir/openmp, as happed in e.g. https://lab.llvm.org/buildbot/#/builders/53/builds/11759 (commit causing the failure was llvm/llvm-project@fe8b323 ) This PR is not strictly necessary for llvm/llvm-project#124126, it just wouldn't build the runtime anymore. Affected builders: * flang-aarch64-out-of-tree Affected workers: * linaro-flang-aarch64-out-of-tree Tested locally on x86_64.
Remove the FLANG_INCLUDE_RUNTIME option which was replaced by LLVM_ENABLE_RUNTIMES=flang-rt.
The FLANG_INCLUDE_RUNTIME option was added in #122336 which disables the non-runtimes build instructions for the Flang runtime so they do not conflict with the LLVM_ENABLE_RUNTIMES=flang-rt option added in #110217. In order to not maintain multiple build instructions for the same thing, this PR completely removes the old build instructions (effectively forcing FLANG_INCLUDE_RUNTIME=OFF).
As per discussion in https://discourse.llvm.org/t/buildbot-changes-with-llvm-enable-runtimes-flang-rt/83571/2 we now implicitly add LLVM_ENABLE_RUNTIMES=flang-rt whenever Flang is compiled in a bootstrapping (non-standalone) build. Because it is possible to build Flang-RT separately, this behavior can be disabled using
-DFLANG_ENABLE_FLANG_RT=OFF
. Also see the discussion an implicitly adding runtimes/projects in #123964.This PR will remains in draft status until the buildbots' configurations have been updated. Due to LLVM_ENABLE_RUNTIMES=flang-rt being added automatically, most of them would probably continue to work, except the out-of-tree builders which require some adjustment.
Series of buildbot updates: