Skip to content

Commit a74544d

Browse files
committed
LLVM 21 support
1 parent b8f1709 commit a74544d

File tree

6 files changed

+31
-20
lines changed

6 files changed

+31
-20
lines changed

.github/workflows/test.yml

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ jobs:
1010
runs-on: macos-latest
1111
strategy:
1212
matrix:
13-
llvm: [14, 15, 16, 17, 18, 19, 20]
13+
llvm: [14, 15, 16, 17, 18, 19, 20, 21]
1414
steps:
1515
- name: Checkout
1616
uses: actions/checkout@v4
@@ -20,22 +20,21 @@ jobs:
2020
go-version: '1.22'
2121
# Optional step when a LLVM version is very new.
2222
- name: Update Homebrew
23-
if: matrix.llvm == 20
2423
run: brew update
2524
- name: Install LLVM
2625
run: HOMEBREW_NO_AUTO_UPDATE=1 brew install llvm@${{ matrix.llvm }}
2726
- name: Test LLVM ${{ matrix.llvm }}
2827
run:
2928
go test -v -tags=llvm${{ matrix.llvm }}
3029
- name: Test default LLVM
31-
if: matrix.llvm == 20
30+
if: matrix.llvm == 21
3231
run:
3332
go test -v
3433
test-linux:
3534
runs-on: ubuntu-22.04
3635
strategy:
3736
matrix:
38-
llvm: [14, 15, 16, 17, 18, 19, 20]
37+
llvm: [14, 15, 16, 17, 18, 19, 20, 21]
3938
steps:
4039
- name: Checkout
4140
uses: actions/checkout@v4
@@ -53,6 +52,6 @@ jobs:
5352
run:
5453
go test -v -tags=llvm${{ matrix.llvm }}
5554
- name: Test default LLVM
56-
if: matrix.llvm == 20
55+
if: matrix.llvm == 21
5756
run:
5857
go test -v

ir.go

Lines changed: 0 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -76,7 +76,6 @@ type (
7676
ComdatSelectionKind C.LLVMComdatSelectionKind
7777
IntPredicate C.LLVMIntPredicate
7878
FloatPredicate C.LLVMRealPredicate
79-
LandingPadClause C.LLVMLandingPadClauseTy
8079
InlineAsmDialect C.LLVMInlineAsmDialect
8180
)
8281

@@ -344,15 +343,6 @@ const (
344343
FloatPredicateTrue FloatPredicate = C.LLVMRealPredicateTrue
345344
)
346345

347-
//-------------------------------------------------------------------------
348-
// llvm.LandingPadClause
349-
//-------------------------------------------------------------------------
350-
351-
const (
352-
LandingPadCatch LandingPadClause = C.LLVMLandingPadCatch
353-
LandingPadFilter LandingPadClause = C.LLVMLandingPadFilter
354-
)
355-
356346
//-------------------------------------------------------------------------
357347
// llvm.InlineAsmDialect
358348
//-------------------------------------------------------------------------
@@ -928,9 +918,6 @@ func ConstNUWAdd(lhs, rhs Value) (v Value) { v.C = C.LLVMConstNUWAdd(lhs.C, rhs.
928918
func ConstSub(lhs, rhs Value) (v Value) { v.C = C.LLVMConstSub(lhs.C, rhs.C); return }
929919
func ConstNSWSub(lhs, rhs Value) (v Value) { v.C = C.LLVMConstNSWSub(lhs.C, rhs.C); return }
930920
func ConstNUWSub(lhs, rhs Value) (v Value) { v.C = C.LLVMConstNUWSub(lhs.C, rhs.C); return }
931-
func ConstMul(lhs, rhs Value) (v Value) { v.C = C.LLVMConstMul(lhs.C, rhs.C); return }
932-
func ConstNSWMul(lhs, rhs Value) (v Value) { v.C = C.LLVMConstNSWMul(lhs.C, rhs.C); return }
933-
func ConstNUWMul(lhs, rhs Value) (v Value) { v.C = C.LLVMConstNUWMul(lhs.C, rhs.C); return }
934921
func ConstXor(lhs, rhs Value) (v Value) { v.C = C.LLVMConstXor(lhs.C, rhs.C); return }
935922

936923
func ConstGEP(t Type, v Value, indices []Value) (rv Value) {

llvm_config_darwin_llvm20.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
//go:build !byollvm && darwin && !llvm14 && !llvm15 && !llvm16 && !llvm17 && !llvm18 && !llvm19
1+
//go:build !byollvm && darwin && llvm20
22

33
package llvm
44

llvm_config_darwin_llvm21.go

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
//go:build !byollvm && darwin && !llvm14 && !llvm15 && !llvm16 && !llvm17 && !llvm18 && !llvm19 && !llvm20
2+
3+
package llvm
4+
5+
// Automatically generated by `make config BUILDDIR=`, do not edit.
6+
7+
// #cgo amd64 CPPFLAGS: -I/usr/local/opt/llvm@21/include -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS
8+
// #cgo amd64 CXXFLAGS: -std=c++17
9+
// #cgo amd64 LDFLAGS: -L/usr/local/opt/llvm@21/lib -Wl,-search_paths_first -Wl,-headerpad_max_install_names -lLLVM -lz -lm
10+
// #cgo arm64 CPPFLAGS: -I/opt/homebrew/opt/llvm@21/include -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS
11+
// #cgo arm64 CXXFLAGS: -std=c++17
12+
// #cgo arm64 LDFLAGS: -L/opt/homebrew/opt/llvm@21/lib -Wl,-search_paths_first -Wl,-headerpad_max_install_names -lLLVM -lz -lm
13+
import "C"
14+
15+
type run_build_sh int

llvm_config_linux_llvm20.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
//go:build !byollvm && linux && !llvm14 && !llvm15 && !llvm16 && !llvm17 && !llvm18 && !llvm19
1+
//go:build !byollvm && linux && llvm20
22

33
package llvm
44

llvm_config_linux_llvm21.go

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
//go:build !byollvm && linux && !llvm14 && !llvm15 && !llvm16 && !llvm17 && !llvm18 && !llvm19 && !llvm20
2+
3+
package llvm
4+
5+
// #cgo CPPFLAGS: -I/usr/include/llvm-21 -I/usr/include/llvm-c-21 -D_GNU_SOURCE -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS
6+
// #cgo CXXFLAGS: -std=c++17
7+
// #cgo LDFLAGS: -L/usr/lib/llvm-21/lib -lLLVM-21
8+
import "C"
9+
10+
type run_build_sh int

0 commit comments

Comments
 (0)