Skip to content

Conversation

@cmtice
Copy link
Contributor

@cmtice cmtice commented Oct 23, 2025

Now that the Windows container contains clang, use it for building the premerge tests. Measurements show this is significantly faster than using msvc cl. Note we had to disable two warnings -Wc++98-compat and -Wc++14-compat, to make this work with 'check-mlir' on Windows (clang generates a lot of warnings that msvc cl does not).

Now that the Windows container contains clang, use it for building
the premerge tests. Measurements show this is significantly faster
than using msvc cl. Note we had to disable two warnings
-Wc++98-compat and -Wc++14-compat, to make this work with 'check-mlir'
on Windows (clang generates a lot of warnings that msvc cl does not).
@cmtice cmtice requested a review from boomanaiden154 October 23, 2025 21:40
@llvmbot llvmbot added the infrastructure Bugs about LLVM infrastructure label Oct 23, 2025
@llvmbot
Copy link
Member

llvmbot commented Oct 23, 2025

@llvm/pr-subscribers-infrastructure

Author: None (cmtice)

Changes

Now that the Windows container contains clang, use it for building the premerge tests. Measurements show this is significantly faster than using msvc cl. Note we had to disable two warnings -Wc++98-compat and -Wc++14-compat, to make this work with 'check-mlir' on Windows (clang generates a lot of warnings that msvc cl does not).


Full diff: https://github.com/llvm/llvm-project/pull/164900.diff

1 Files Affected:

  • (modified) .ci/monolithic-windows.sh (+4-2)
diff --git a/.ci/monolithic-windows.sh b/.ci/monolithic-windows.sh
index 219979dd3e36e..89d608d9eb9b7 100755
--- a/.ci/monolithic-windows.sh
+++ b/.ci/monolithic-windows.sh
@@ -23,8 +23,8 @@ runtimes_targets="${4}"
 start-group "CMake"
 pip install -q -r "${MONOREPO_ROOT}"/.ci/all_requirements.txt
 
-export CC=cl
-export CXX=cl
+export CC=C:\clang\clang-msvc\bin\clang-cl.exe
+export CXX=C:\clang\clang-msvc\bin\clang-cl.exe
 export LD=link
 
 # The CMAKE_*_LINKER_FLAGS to disable the manifest come from research
@@ -49,10 +49,12 @@ cmake -S "${MONOREPO_ROOT}"/llvm -B "${BUILD_DIR}" \
       -D CMAKE_EXE_LINKER_FLAGS="/MANIFEST:NO" \
       -D CMAKE_MODULE_LINKER_FLAGS="/MANIFEST:NO" \
       -D CMAKE_SHARED_LINKER_FLAGS="/MANIFEST:NO" \
+      -D CMAKE_CXX_FLAGS="-Wno-c++98-compat -Wno-c++14-compat" \
       -D LLVM_ENABLE_RUNTIMES="${runtimes}"
 
 start-group "ninja"
 
+
 # Targets are not escaped as they are passed as separate arguments.
 ninja -C "${BUILD_DIR}" -k 0 ${targets} |& tee ninja.log
 cp ${BUILD_DIR}/.ninja_log ninja.ninja_log

@boomanaiden154
Copy link
Contributor

You'll need to relaunch this job to get testing once https://github.com/llvm/llvm-project/actions/runs/18761757077/job/53527832407 finishes uploading the new image.

@cmtice
Copy link
Contributor Author

cmtice commented Oct 23, 2025

You'll need to relaunch this job to get testing once https://github.com/llvm/llvm-project/actions/runs/18761757077/job/53527832407 finishes uploading the new image.

Done.

Copy link
Contributor

@boomanaiden154 boomanaiden154 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can we also pass -Wno-unsafe-buffer-usage and -Wno-old-style-cast? I'm seeing about 10k instances of each in the logs.

Can you also file a Github issue to track the warning cleanup?

Copy link
Contributor

@boomanaiden154 boomanaiden154 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Other than that, LGTM. <60 minutes total for a cold build is pretty sweet.

@cmtice
Copy link
Contributor Author

cmtice commented Oct 24, 2025

Can we also pass -Wno-unsafe-buffer-usage and -Wno-old-style-cast? I'm seeing about 10k instances of each in the logs.

Done.

Can you also file a Github issue to track the warning cleanup?

Done: #165045

@cmtice cmtice merged commit 409c654 into llvm:main Oct 24, 2025
11 checks passed
dvbuka pushed a commit to dvbuka/llvm-project that referenced this pull request Oct 27, 2025
Now that the Windows container contains clang, use it for building the
premerge tests. Measurements show this is significantly faster than
using msvc cl. Note we had to disable four warnings -Wc++98-compat,
-Wc++14-compat,  -Wunsafe-buffer-usage, and -Wold-style-cast to make
this work with 'check-mlir' on Windows (clang generates a lot of warnings
that msvc cl does not).
Lukacma pushed a commit to Lukacma/llvm-project that referenced this pull request Oct 29, 2025
Now that the Windows container contains clang, use it for building the
premerge tests. Measurements show this is significantly faster than
using msvc cl. Note we had to disable four warnings -Wc++98-compat,
-Wc++14-compat,  -Wunsafe-buffer-usage, and -Wold-style-cast to make
this work with 'check-mlir' on Windows (clang generates a lot of warnings
that msvc cl does not).
aokblast pushed a commit to aokblast/llvm-project that referenced this pull request Oct 30, 2025
Now that the Windows container contains clang, use it for building the
premerge tests. Measurements show this is significantly faster than
using msvc cl. Note we had to disable four warnings -Wc++98-compat,
-Wc++14-compat,  -Wunsafe-buffer-usage, and -Wold-style-cast to make
this work with 'check-mlir' on Windows (clang generates a lot of warnings
that msvc cl does not).
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

infrastructure Bugs about LLVM infrastructure

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants