Skip to content

Commit 088212c

Browse files
committed
Drop MacroTools dependency.
1 parent 1d4840b commit 088212c

File tree

6 files changed

+25
-21
lines changed

6 files changed

+25
-21
lines changed

Project.toml

-2
Original file line numberDiff line numberDiff line change
@@ -5,14 +5,12 @@ version = "0.6.5"
55

66
[deps]
77
LinearAlgebra = "37e2e46d-f89d-539d-b4ee-838fcccc9c8e"
8-
MacroTools = "1914dd2f-81c6-5fcd-8719-6d5c9610ff09"
98
Parameters = "d96e819e-fc66-5662-9728-84c9c7592b0a"
109
SIMDPirates = "21efa798-c60a-11e8-04d3-e1a92915a26a"
1110
SLEEFPirates = "476501e8-09a2-5ece-8869-fb82de89a1fa"
1211
VectorizationBase = "3d5dd08c-fd9d-11e8-17fa-ed2836048c2f"
1312

1413
[compat]
15-
MacroTools = "0"
1614
Parameters = "0"
1715
SIMDPirates = "0.3.3, 0.4, 0.5"
1816
SLEEFPirates = "0.3.2, 0.4, 0.5"

src/LoopVectorization.jl

+1-2
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
module LoopVectorization
22

3-
using VectorizationBase, SIMDPirates, SLEEFPirates, MacroTools, Parameters
3+
using VectorizationBase, SIMDPirates, SLEEFPirates, Parameters
44
using VectorizationBase: REGISTER_SIZE, REGISTER_COUNT, extract_data, num_vector_load_expr,
55
mask, masktable, pick_vector_width_val, valmul, valrem, valmuladd, valadd, valsub, _MM,
66
maybestaticlength, maybestaticsize, staticm1, subsetview, vzero, stridedpointer_for_broadcast,
@@ -10,7 +10,6 @@ using SIMDPirates: VECTOR_SYMBOLS, evadd, evmul, vrange, reduced_add, reduced_pr
1010
# vmullog2, vmullog10, vdivlog2, vdivlog2add, vdivlog10, vdivlog10add, vfmaddaddone
1111
using Base.Broadcast: Broadcasted, DefaultArrayStyle
1212
using LinearAlgebra: Adjoint, Transpose
13-
using MacroTools: prewalk, postwalk
1413

1514

1615
export LowDimArray, stridedpointer, vectorizable,

src/constructors.jl

+1-1
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,7 @@ end
4343

4444

4545
function LoopSet(q::Expr, mod::Symbol = :LoopVectorization)
46-
q = SIMDPirates.contract_pass(q)
46+
SIMDPirates.contract_pass!(q)
4747
ls = LoopSet(mod)
4848
copyto!(ls, q)
4949
resize!(ls.loop_order, num_loops(ls))

src/memory_ops_common.jl

+15
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,18 @@
1+
function ref_from_expr(ex, offset1::Int, offset2::Int)
2+
(ex.args[1 + offset1])::Symbol, @view(ex.args[2 + offset2:end])
3+
end
4+
ref_from_ref(ex::Expr) = ref_from_expr(ex, 0, 0)
5+
ref_from_getindex(ex::Expr) = ref_from_expr(ex, 1, 1)
6+
ref_from_setindex(ex::Expr) = ref_from_expr(ex, 1, 2)
7+
function ref_from_expr(ex::Expr)
8+
if ex.head === :ref
9+
ref_from_ref(ex)
10+
else#if ex.head === :call
11+
f = first(ex.args)::Symbol
12+
f === :getindex ? ref_from_getindex(ex) : ref_from_setindex(ex)
13+
end
14+
end
15+
116
add_vptr!(ls::LoopSet, op::Operation) = add_vptr!(ls, op.ref)
217
add_vptr!(ls::LoopSet, mref::ArrayReferenceMeta) = add_vptr!(ls, mref.ref.array, vptr(mref))
318
function add_vptr!(ls::LoopSet, array::Symbol, vptrarray::Symbol = vptr(array), actualarray::Bool = true, broadcast::Bool = false)

src/operations.jl

-15
Original file line numberDiff line numberDiff line change
@@ -36,21 +36,6 @@ Base.:(==)(x::ArrayReference, y::ArrayReference) = isequal(x, y)
3636
Base.:(==)(x::ArrayReferenceMeta, y::ArrayReferenceMeta) = isequal(x.ref, y.ref) && x.ptr === y.ptr
3737

3838

39-
function ref_from_expr(ex, offset1::Int, offset2::Int)
40-
(ex.args[1 + offset1])::Symbol, @view(ex.args[2 + offset2:end])
41-
end
42-
ref_from_ref(ex::Expr) = ref_from_expr(ex, 0, 0)
43-
ref_from_getindex(ex::Expr) = ref_from_expr(ex, 1, 1)
44-
ref_from_setindex(ex::Expr) = ref_from_expr(ex, 1, 2)
45-
function ref_from_expr(ex::Expr)
46-
if ex.head === :ref
47-
ref_from_ref(ex)
48-
else#if ex.head === :call
49-
f = first(ex.args)::Symbol
50-
f === :getindex ? ref_from_getindex(ex) : ref_from_setindex(ex)
51-
end
52-
end
53-
5439
Base.:(==)(x::ArrayReference, y::ArrayReferenceMeta) = x == y.ref
5540
Base.:(==)(x::ArrayReferenceMeta, y::ArrayReference) = x.ref == y
5641
Base.:(==)(x::ArrayReference, y) = false

test/runtests.jl

+8-1
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ end
2828
@test occursin("Operation[", s)
2929
@test occursin("s = 0", s)
3030
@test occursin("s = LoopVectorization.vfmadd", s)
31-
31+
# using LoopVectorization
3232
@time @testset "dot" begin
3333
dotq = :(for i eachindex(a,b)
3434
s += a[i]*b[i]
@@ -395,6 +395,13 @@ end
395395
y[i] = yᵢ
396396
end
397397
end
398+
q = :(for i eachindex(y)
399+
yᵢ = zero(eltype(y))
400+
for j eachindex(x)
401+
yᵢ += A[i,j] * x[j]
402+
end
403+
y[i] = yᵢ
404+
end)
398405
function mygemv_avx!(y, A, x)
399406
@_avx for i eachindex(y)
400407
yᵢ = zero(eltype(y))

0 commit comments

Comments
 (0)