Skip to content

Drop support for LLVM 11, 12, and 13#27326

Merged
jabraham17 merged 9 commits intochapel-lang:mainfrom
jabraham17:drop-llvm-11-12-13
Jul 2, 2025
Merged

Drop support for LLVM 11, 12, and 13#27326
jabraham17 merged 9 commits intochapel-lang:mainfrom
jabraham17:drop-llvm-11-12-13

Conversation

@jabraham17
Copy link
Member

@jabraham17 jabraham17 commented Jun 3, 2025

Drops support for LLVM 11, 12, and 13

Resolves #27269

  • make check with LLVM 14

[Reviewed by @arifthpe]

Signed-off-by: Jade Abraham <jade.abraham@hpe.com>
@jabraham17 jabraham17 force-pushed the drop-llvm-11-12-13 branch from 4046ddd to b0d0fab Compare June 30, 2025 21:03
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 June 30, 2025 21:20
@jabraham17 jabraham17 requested a review from arifthpe July 1, 2025 22:29
Copy link
Collaborator

@arifthpe arifthpe left a comment

Choose a reason for hiding this comment

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

Grepping for things like "LLVM" + {11,12,13,14}, "HAVE_LLVM_VER" + {110,120,130,140}, etc, I found these additional locations that also need updating:

  • make/compiler/Makefile.gnu:381
  • make/compiler/Makefile.clang:188
  • compiler/llvm/llvmUtil.cpp:823
  • frontend/include/chpl/util/clang-integration.h:58
  • frontend/lib/util/filesystem.cpp:252
  • frontend/lib/parsing/parsing-queries.cpp:948
  • util/devel/test/portability/vagrant/current/generic-x32-debian12/Vagrantfile:16 (the provision script installing LLVM will need to be pinned to a newer version)
  • util/chplenv/chpl_llvm.py:1260
  • compiler/include/llvmVer.h:42
  • util/cron/common-llvm.bash:28
  • doc/rst/usingchapel/prereqs.rst

@jabraham17
Copy link
Member Author

jabraham17 commented Jul 2, 2025

Making a checklist for the items in #27326 (review)

  • make/compiler/Makefile.gnu:381
  • make/compiler/Makefile.clang:188
  • compiler/llvm/llvmUtil.cpp:823
  • frontend/include/chpl/util/clang-integration.h:58
  • frontend/lib/util/filesystem.cpp:252
  • frontend/lib/parsing/parsing-queries.cpp:948
  • util/devel/test/portability/vagrant/current/generic-x32-debian12/Vagrantfile:16 (the provision script installing LLVM will need to be pinned to a newer version)
  • util/chplenv/chpl_llvm.py:1260
  • compiler/include/llvmVer.h:42
  • util/cron/common-llvm.bash:28
  • doc/rst/usingchapel/prereqs.rst

Signed-off-by: Jade Abraham <jade.abraham@hpe.com>
Signed-off-by: Jade Abraham <jade.abraham@hpe.com>
@arifthpe
Copy link
Collaborator

arifthpe commented Jul 2, 2025

Btw, probably don't need to worry about actually running the portability tests after updating the provision script. It's possible the version-pinned packages will exist in some distros but not others, but that'll be easy to catch and fix when testing during the next release cycle.

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 requested a review from arifthpe July 2, 2025 20:37
Copy link
Collaborator

@arifthpe arifthpe left a comment

Choose a reason for hiding this comment

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

LGTM after nitpick and a fresh make check run

Signed-off-by: Jade Abraham <jade.abraham@hpe.com>
@jabraham17
Copy link
Member Author

A fresh make check passes

@jabraham17 jabraham17 merged commit 7503559 into chapel-lang:main Jul 2, 2025
10 checks passed
@jabraham17 jabraham17 deleted the drop-llvm-11-12-13 branch July 2, 2025 22:24
arifthpe added a commit that referenced this pull request Jul 16, 2025
Previously we relied on system LLVM (11) on Amazon Linux 2, as the
default GCC is too old to build LLVM. However, after dropping support
for LLVM 11 in #27326, this is
no longer an option. Update the build process for Amazon Linux 2 to
install the available `gcc10` package, and set `CC` and `CXX` so it will
be used during Chapel build. Also update `prereqs.rst` to reflect this.

Additionally, since this will enable building with `CHPL_LLVM=none`, add
a `-nollvm` variant of the `amazonlinux-2` apptainer portability testing
configuration.

While here, update the path to the `extract-docs.py` script referenced
in `prereqs.rst`, which was moved in
#27398.

[reviewed by @jabraham17, thanks!]

Testing:
- [x] locally testing LLVM and no-LLVM configs (in Docker) works
- [x] locally generated docs look right
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.

What LLVM versions can we stop supporting today?

2 participants