@@ -58,7 +58,7 @@ function compile(x, ivdep)
58
58
(isa (x, Expr) && x. head === :for ) || throw (SimdError (" for loop expected" ))
59
59
length (x. args) == 2 || throw (SimdError (" 1D for loop expected" ))
60
60
check_body! (x)
61
-
61
+ ivdepend = isnothing (ivdep) ? nothing : Symbol ( " julia.ivdep.end " )
62
62
var, range = parse_iteration_space (x. args[1 ])
63
63
r = gensym (" r" ) # Range value
64
64
j = gensym (" i" ) # Iteration variable for outer loop
@@ -77,7 +77,7 @@ function compile(x, ivdep)
77
77
local $ var = Base. simd_index ($ r, $ j, $ i)
78
78
$ (x. args[2 ]) # Body of loop
79
79
$ i += 1
80
- $ (Expr (:loopinfo , Symbol (" julia.simdloop" ), Symbol ( " julia.ivdep.end " ) )) # Mark loop as SIMD loop
80
+ $ (Expr (:loopinfo , Symbol (" julia.simdloop" ), ivdepend )) # Mark loop as SIMD loop
81
81
end
82
82
end
83
83
end
@@ -126,7 +126,7 @@ either case, your inner loop should have the following properties to allow vecto
126
126
* No iteration ever waits on a previous iteration to make forward progress.
127
127
"""
128
128
macro simd (forloop)
129
- esc (compile (forloop, Symbol ( " julia.ivdep.end " ) ))
129
+ esc (compile (forloop, nothing ))
130
130
end
131
131
132
132
macro simd (ivdep, forloop)
0 commit comments