Skip to content
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

Add support for LLVM 19 #25964

Merged
merged 12 commits into from
Nov 5, 2024
Merged

Conversation

jabraham17
Copy link
Member

@jabraham17 jabraham17 commented Sep 18, 2024

Adds support to use Chapel with LLVM 19

Testing:

  • build with gcc 7.5 on linux64 without CHPL_DEVELOPER
  • build with gcc 7.5 on linux64 with CHPL_DEVELOPER
  • build with clang 14 on MacOS M1
  • paratest (x86)
  • paratest with gasnet (x86)
  • paratest with --verify (x86)
  • start_test test/llvm/abi/aarch64/ on ARM64
  • start_test test/gpu/native with cuda 12
  • start_test test/gpu/native with cuda 12 with OFI
  • spot checked cuda 11

[Reviewed by @mppf]

Signed-off-by: Jade Abraham <jade.abraham@hpe.com>
Signed-off-by: Jade Abraham <jade.abraham@hpe.com>
Signed-off-by: Jade Abraham <jade.abraham@hpe.com>
Signed-off-by: Jade Abraham <jade.abraham@hpe.com>
Signed-off-by: Jade Abraham <jade.abraham@hpe.com>
Signed-off-by: Jade Abraham <jade.abraham@hpe.com>
Signed-off-by: Jade Abraham <jade.abraham@hpe.com>
Signed-off-by: Jade Abraham <jade.abraham@hpe.com>
Signed-off-by: Jade Abraham <jade.abraham@hpe.com>
@jabraham17 jabraham17 marked this pull request as ready for review September 20, 2024 23:33
compiler/llvm/llvmGlobalToWide.cpp Show resolved Hide resolved
compiler/llvm/llvmGlobalToWide.cpp Outdated Show resolved Hide resolved
compiler/llvm/llvmGlobalToWide.cpp Outdated Show resolved Hide resolved
test/llvm/dbg-records/dbg-proc-declare.skipif Show resolved Hide resolved
Signed-off-by: Jade Abraham <jade.abraham@hpe.com>
Signed-off-by: Jade Abraham <jade.abraham@hpe.com>
Signed-off-by: Jade Abraham <jade.abraham@hpe.com>
@jabraham17 jabraham17 merged commit 621691a into chapel-lang:main Nov 5, 2024
7 checks passed
@jabraham17 jabraham17 deleted the support-llvm-19 branch November 5, 2024 00:20
jabraham17 added a commit that referenced this pull request Nov 5, 2024
Adjusts packaging scripts and docs to reflect that we support LLVM 19 as
of #25964

[Reviewed by @arezaii]
jabraham17 added a commit that referenced this pull request Nov 5, 2024
Fixes some compiler build errors with LLVM 11 introduced by
#25964

Tested that `make check` works with LLVM 11.

[Reviewed by @riftEmber]
jabraham17 added a commit that referenced this pull request Nov 5, 2024
Fixes an include path issue caused by #25964.

#25964 changed all `-I` for LLVM includes into a `-isystem` so that they
would not be subject to `-Werror`, which could break compiler builds
irreparably for some versions of LLVM. However, `-isystem` perturbs the
header search order, meaning if LLVM is already installed to a system
include path then other stuff may break.

The fix is to use `-isystem-after` instead of `-isystem`, however this
is a clang only flag. `-idirafter` has the same effect but exists in
both
[GCC](https://gcc.gnu.org/onlinedocs/gcc/Directory-Options.html#Options-for-Directory-Search)
and
[clang](https://clang.llvm.org/docs/ClangCommandLineReference.html#cmdoption-clang-idirafter-arg),
so that is used in this PR.

Tested that the compiler builds on both a system where LLVM is installed
to a system path and a system where it is not.

[Reviewed by @riftEmber]
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants