@@ -58,7 +58,7 @@ function compile(x, ivdep)
5858 (isa (x, Expr) && x. head === :for ) || throw (SimdError (" for loop expected" ))
5959 length (x. args) == 2 || throw (SimdError (" 1D for loop expected" ))
6060 check_body! (x)
61-
61+ ivdepend = isnothing (ivdep) ? nothing : Symbol ( " julia.ivdep.end " )
6262 var, range = parse_iteration_space (x. args[1 ])
6363 r = gensym (" r" ) # Range value
6464 j = gensym (" i" ) # Iteration variable for outer loop
@@ -77,7 +77,7 @@ function compile(x, ivdep)
7777 local $ var = Base. simd_index ($ r, $ j, $ i)
7878 $ (x. args[2 ]) # Body of loop
7979 $ 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
8181 end
8282 end
8383 end
@@ -126,7 +126,7 @@ either case, your inner loop should have the following properties to allow vecto
126126* No iteration ever waits on a previous iteration to make forward progress.
127127"""
128128macro simd (forloop)
129- esc (compile (forloop, Symbol ( " julia.ivdep.end " ) ))
129+ esc (compile (forloop, nothing ))
130130end
131131
132132macro simd (ivdep, forloop)
0 commit comments