From 2f1efe933e8a88adc5075137d889ab7fda735211 Mon Sep 17 00:00:00 2001 From: KristofferC Date: Mon, 14 Oct 2024 14:03:28 +0200 Subject: [PATCH 1/3] fix number of purity args on 1.11+ --- src/VectorizationBase.jl | 6 +++++- src/llvm_types.jl | 1 + 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/src/VectorizationBase.jl b/src/VectorizationBase.jl index 15f8dcc..94cfb7e 100644 --- a/src/VectorizationBase.jl +++ b/src/VectorizationBase.jl @@ -494,7 +494,11 @@ demoteint(::Type{Int64}, W::StaticInt) = gt(W, pick_vector_width(Int64)) end meta = Expr(:meta, :inline) if VERSION >= v"1.8.0-beta" - push!(meta.args, Expr(:purity, true, true, true, true, false)) + purity = Expr(:purity, true, true, true, true, false) + if VERSION >= v"1.11" + push!(purity.args, false, false, false, false, false, false) + end + push!(meta.args, purity) end quote $meta diff --git a/src/llvm_types.jl b/src/llvm_types.jl index 6ffedf8..46938c2 100644 --- a/src/llvm_types.jl +++ b/src/llvm_types.jl @@ -279,6 +279,7 @@ end Expr(:purity, true, true, true, true, false) end VERSION >= v"1.9.0-DEV.1019" && push!(purity.args, true) + VERSION >= v"1.11" && push!(purity.args, false, false, false, false, false) Expr(:meta, purity, :inline) else Expr(:meta, :inline) From f0dacd467cb113a2d572c517327cd0f4df415d76 Mon Sep 17 00:00:00 2001 From: Kristoffer Carlsson Date: Mon, 14 Oct 2024 14:26:32 +0200 Subject: [PATCH 2/3] Update src/llvm_types.jl Co-authored-by: Cody Tapscott <84105208+topolarity@users.noreply.github.com> --- src/llvm_types.jl | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/src/llvm_types.jl b/src/llvm_types.jl index 46938c2..266ceb2 100644 --- a/src/llvm_types.jl +++ b/src/llvm_types.jl @@ -279,7 +279,13 @@ end Expr(:purity, true, true, true, true, false) end VERSION >= v"1.9.0-DEV.1019" && push!(purity.args, true) - VERSION >= v"1.11" && push!(purity.args, false, false, false, false, false) + VERSION >= v"1.11" && push!(purity.args, + #= inaccessiblememonly =# true, + #= noub =# true, + #= noub_if_noinbounds =# false, + #= consistent_overlay =# false, + #= nortcall =# true, + ) Expr(:meta, purity, :inline) else Expr(:meta, :inline) From 45555d667feb8ae074c35a27e95927b5dc63eade Mon Sep 17 00:00:00 2001 From: Kristoffer Carlsson Date: Mon, 14 Oct 2024 14:26:37 +0200 Subject: [PATCH 3/3] Update src/VectorizationBase.jl Co-authored-by: Cody Tapscott <84105208+topolarity@users.noreply.github.com> --- src/VectorizationBase.jl | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) diff --git a/src/VectorizationBase.jl b/src/VectorizationBase.jl index 94cfb7e..16b594e 100644 --- a/src/VectorizationBase.jl +++ b/src/VectorizationBase.jl @@ -494,9 +494,21 @@ demoteint(::Type{Int64}, W::StaticInt) = gt(W, pick_vector_width(Int64)) end meta = Expr(:meta, :inline) if VERSION >= v"1.8.0-beta" - purity = Expr(:purity, true, true, true, true, false) + purity = Expr(:purity, + #= consistent =# true, + #= effect_free =# true, + #= nothrow =# true, + #= terminates_globally =# true, + #= terminates_locally =# false) if VERSION >= v"1.11" - push!(purity.args, false, false, false, false, false, false) + push!(purity.args, + #= notaskstate =# true, + #= inaccessiblememonly =# true, + #= noub =# true, + #= noub_if_noinbounds =# false, + #= consistent_overlay =# false, + #= nortcall =# true, + ) end push!(meta.args, purity) end