[Chapel Merge] Add support for LLVM 20

Branch: refs/heads/main
Revision: 5761dd5cfdf1fa42ff0b986c75c418609533f101
Author: jabraham17
Link: Add support for LLVM 20 by jabraham17 · Pull Request #27127 · chapel-lang/chapel · GitHub
Log Message:
Add support for LLVM 20 (#27127)

Adds support to build Chapel with LLVM 20

Testing

  • M1 Mac
    • make check
    • start_test test/performance/ferguson/ with GASNet
    • start_test test/llvm with COMM=none
    • start_test test/llvm with GASNet
    • make check with LLVM 18
    • make check with LLVM 16
    • make check with LLVM 14
  • linux64
    • make check
    • paratest with COMM=none
    • paratest with GASNet
  • CHPL_GPU=nvidia
    • make check

[Reviewed by @mppf]

Compare: Comparing ee1ec0f3a5ad743608d4e32946913759d54a9924...61ddccf4054ddffefa3f8a699e331c333a035f88 · chapel-lang/chapel · GitHub

Diff:
M compiler/codegen/cg-expr.cpp
M compiler/codegen/cg-symbol.cpp
M compiler/include/llvmUtil.h
M compiler/llvm/clangUtil.cpp
M compiler/llvm/llvmAggregateGlobalOps.cpp
M compiler/llvm/llvmGlobalToWide.cpp
M compiler/llvm/llvmUtil.cpp
M frontend/lib/util/clang-integration.cpp
M make/compiler/Makefile.clang
A test/llvm/abi/aarch64/export-vs-c-llvm20.good
A test/llvm/abi/x86-64/export-vs-c-llvm20.good
A test/llvm/assertVectorize/.gitignore
A test/llvm/assertVectorize/CLEANFILES
A test/llvm/dbg-intrinsics/.gitignore
A test/llvm/dbg-intrinsics/CLEANFILES
A test/llvm/dbg-records/.gitignore
A test/llvm/dbg-records/CLEANFILES
M util/chplenv/chpl_llvm.py
https://github.com/chapel-lang/chapel/pull/27127.diff