Skip to content

Conversation

@omjavaid
Copy link
Contributor

@omjavaid omjavaid commented Mar 17, 2025

This patch unifies x64 and arm64 build process in Windows release script by consolidating common functionality while preserving architecture specific requirements.

Key changes include:

  • Combined x64 and arm64 build logic into do_build_64_common
  • Added PGO support for arm64 builds
  • Added flang and mlir projects to x64 builds
  • Remove LLDB from stage 0 builds and consolidate common LLDB flags
  • Build sanitizers for x64 while disable them on arm64.
  • Use LLVM_ENABLE_RUNTIMES for including runtime projects

@omjavaid omjavaid requested review from ldrumm and zmodem March 17, 2025 22:47
@omjavaid
Copy link
Contributor Author

omjavaid commented Apr 8, 2025

@zmodem ping!

@zmodem
Copy link
Collaborator

zmodem commented Apr 8, 2025

I think the comment about retries is still not addressed?

@omjavaid
Copy link
Contributor Author

I think the comment about retries is still not addressed?
Ah I overlooked that you were asking to make all ninja check calls have the "retry" behavior. I have now fixed that, please have a look.

Copy link
Collaborator

@zmodem zmodem left a comment

Choose a reason for hiding this comment

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

Thanks!

I didn't actually try it, but this basically lgtm with the check-sanitizer comment addressed.

-DLLVM_ENABLE_RPMALLOC=ON ^
-DLLVM_ENABLE_PROJECTS="clang;clang-tools-extra;lld;compiler-rt;lldb;openmp"
-DLLVM_ENABLE_PROJECTS="clang;clang-tools-extra;lld" ^
-DLLVM_ENABLE_RUNTIMES="compiler-rt;openmp"
Copy link
Collaborator

Choose a reason for hiding this comment

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

I have a feeling switching to the runtimes build is going to break us somehow, but I don't know how yet :)

This patch unifies x64 and arm64 build process in Windows
release script by consolidating common functionality while
preserving architecture specific requirements.

Key changes include:

- Combined x64 and arm64 build logic into do_build_64_common
- Added PGO support for arm64 builds
- Added flang and mlir projects to x64 builds
- Remove LLDB from stage 0 builds and consolidate common LLDB flags
- Build sanitizers for x64 while disable them on arm64.
@omjavaid omjavaid force-pushed the win_rel_script_updates branch from 04ae3a4 to 0563d50 Compare October 14, 2025 11:28
@omjavaid
Copy link
Contributor Author

Thanks!

I didn't actually try it, but this basically lgtm with the check-sanitizer comment addressed.

@zmodem Hi can we merge this patch. I have been doing LLVM windows on Arm build using this version of script for 21.x and its worked well for me so far. if you dont have any objections then i can merge it now.

Copy link
Collaborator

@zmodem zmodem left a comment

Choose a reason for hiding this comment

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

lgtm

@omjavaid omjavaid merged commit 9aacc1a into llvm:main Oct 17, 2025
10 checks passed
zmodem added a commit that referenced this pull request Nov 4, 2025
Some followups after #131687 switched to the "runtimes build".

- The `check-sanitizer` build target doesn't exist in the runtimes build; use `check-runtimes` instead.
- ASan is not supported on 32-bit windows. Pass `-DCOMPILER_RT_BUILD_SANITIZERS=OFF`
- `check-runtimes` includes the orcjit tests, which never passed on windows; build with `-DCOMPILER_RT_BUILD_ORC=OFF`
- Various asan and libfuzzer tests fail; suppress them with `LIT_FILTER_OUT`
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants