Skip to content

Commit

Permalink
Merge pull request #1497 from clasp-developers/llvm17
Browse files Browse the repository at this point in the history
Add LLVM 17 support
  • Loading branch information
yitzchak authored Sep 24, 2023
2 parents 0926b32 + 0a1e51c commit 7a85494
Show file tree
Hide file tree
Showing 26 changed files with 233 additions and 1,395 deletions.
2 changes: 1 addition & 1 deletion .github/workflows/test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -41,7 +41,7 @@ jobs:
run: |
brew update
brew upgrade
brew install boost fmt gmp llvm@15 ninja pkg-config sbcl ecl netcdf expat
brew install boost fmt gmp llvm@17 ninja pkg-config sbcl ecl netcdf expat
- name: Checkout repository
uses: actions/checkout@v4

Expand Down
5 changes: 3 additions & 2 deletions RELEASE_NOTES.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# Version 2.4.0 (LLVM15/LLVM16) Pending
# Version 2.4.0 (LLVM15-17) Pending

## Added
* Bytecode stores source location info for debugging.
Expand All @@ -7,12 +7,13 @@
* Circle detection for load forms in bytecode FASL.
* Bytecode functions can be compiled directly into native code with `cl:compile` (experimental).
* Support for Linux AARCH64.
* LLVM17 support. LLVM15 and LLVM16 are still supported.

## Fixed
* Avoid segmentation faults from incorrectly calling MP:PROCESS-JOIN in
EXT:RUN-PROGRAM.

# Version 2.3.0 (LLVM15/LLVM16) 2023-06-04
# Version 2.3.0 (LLVM15-16) 2023-06-04

## Added
* Bytecode compiled images via build mode `:bytecode`.
Expand Down
2 changes: 2 additions & 0 deletions include/clasp/core/claspconfig.h
Original file line number Diff line number Diff line change
Expand Up @@ -36,4 +36,6 @@ THE SOFTWARE.
#define CLASP_FORMAT_SIZE_T PY_FORMAT_SIZE_T
#define CLASP_UNICODE_TYPE PY_UNICODE_TYPE

#include <llvm/Config/llvm-config.h>

#endif
4 changes: 2 additions & 2 deletions include/clasp/llvmo/debugInfoExpose.h
Original file line number Diff line number Diff line change
Expand Up @@ -834,7 +834,7 @@ namespace translate {



#if __clang_major__ < 16
#if LLVM_VERSION_MAJOR < 16
namespace translate {
template <>
struct from_object<llvm::Optional<llvm::DIFile::ChecksumInfo<llvm::StringRef>>, std::true_type> {
Expand Down Expand Up @@ -916,7 +916,7 @@ struct from_object<std::optional<llvm::DIFile::ChecksumInfo<llvm::StringRef>>, s
};
#endif

#if __clang_major__ < 16
#if LLVM_VERSION_MAJOR < 16
namespace translate {
template <>
struct from_object<llvm::Optional<llvm::StringRef>, std::true_type> {
Expand Down
6 changes: 5 additions & 1 deletion include/clasp/llvmo/jit.h
Original file line number Diff line number Diff line change
Expand Up @@ -57,8 +57,12 @@ THE SOFTWARE.
#include <llvm/Analysis/Passes.h>
#include <llvm/IR/MDBuilder.h>
#include <llvm/IR/LegacyPassManager.h>
#include <llvm/Transforms/IPO/PassManagerBuilder.h>
#include <llvm/Passes/PassBuilder.h>
#if LLVM_VERSION_MAJOR < 17
#include <llvm/ADT/Triple.h>
#else
#include <llvm/TargetParser/Triple.h>
#endif
#include <llvm/Support/TargetSelect.h>
#include <llvm/Analysis/TargetLibraryInfo.h>
#include <llvm/Transforms/Scalar.h>
Expand Down
Loading

0 comments on commit 7a85494

Please sign in to comment.