@@ -104,22 +104,22 @@ function add_broadcast!(
104
104
:: Type{<:LowDimArray{D,T,N}} , elementbytes:: Int = 8
105
105
) where {D,T,N}
106
106
fulldims = Union{Symbol,Int}[loopsyms[n] for n ∈ 1 : N if D[n]]
107
- ref = ArrayReference (bcname, fulldims, Ref {Bool} ( false ) )
108
- add_load ! (ls, destname, ref, elementbytes):: Operation
107
+ ref = ArrayReference (bcname, fulldims)
108
+ add_simple_load ! (ls, destname, ref, elementbytes ):: Operation
109
109
end
110
110
function add_broadcast_adjoint_array! (
111
111
ls:: LoopSet , destname:: Symbol , bcname:: Symbol , loopsyms:: Vector{Symbol} , :: Type{A} , elementbytes:: Int = 8
112
112
) where {T,N,A<: AbstractArray{T,N} }
113
113
parent = gensym (:parent )
114
114
pushpreamble! (ls, Expr (:(= ), parent, Expr (:call , :parent , bcname)))
115
- ref = ArrayReference (parent, Union{Symbol,Int}[loopsyms[N + 1 - n] for n ∈ 1 : N], Ref {Bool} ( false ) )
116
- add_load ! ( ls, destname, ref, elementbytes ):: Operation
115
+ ref = ArrayReference (parent, Union{Symbol,Int}[loopsyms[N + 1 - n] for n ∈ 1 : N])
116
+ add_simple_load ! ( ls, destname, ref, elementbytes ):: Operation
117
117
end
118
118
function add_broadcast_adjoint_array! (
119
119
ls:: LoopSet , destname:: Symbol , bcname:: Symbol , loopsyms:: Vector{Symbol} , :: Type{<:AbstractVector} , elementbytes:: Int = 8
120
120
)
121
- ref = ArrayReference (bcname, Union{Symbol,Int}[loopsyms[2 ]], Ref {Bool} ( false ) )
122
- add_load ! ( ls, destname, ref, elementbytes )
121
+ ref = ArrayReference (bcname, Union{Symbol,Int}[loopsyms[2 ]])
122
+ add_simple_load ! ( ls, destname, ref, elementbytes )
123
123
end
124
124
function add_broadcast! (
125
125
ls:: LoopSet , destname:: Symbol , bcname:: Symbol , loopsyms:: Vector{Symbol} ,
@@ -137,7 +137,7 @@ function add_broadcast!(
137
137
ls:: LoopSet , destname:: Symbol , bcname:: Symbol , loopsyms:: Vector{Symbol} ,
138
138
:: Type{<:AbstractArray{T,N}} , elementbytes:: Int = 8
139
139
) where {T,N}
140
- add_load ! (ls, destname, ArrayReference (bcname, @view (loopsyms[1 : N]), Ref {Bool} ( false )), elementbytes)
140
+ add_simple_load ! (ls, destname, ArrayReference (bcname, @view (loopsyms[1 : N])), elementbytes)
141
141
end
142
142
function add_broadcast! (
143
143
ls:: LoopSet , destname:: Symbol , bcname:: Symbol , loopsyms:: Vector{Symbol} , :: Type{T} , elementbytes:: Int = 8
@@ -153,7 +153,7 @@ function add_broadcast!(
153
153
inds = Vector {Union{Int,Symbol}} (undef, N+ 1 )
154
154
inds[1 ] = Symbol (" ##DISCONTIGUOUSSUBARRAY##" )
155
155
inds[2 : end ] .= @view (loopsyms[1 : N])
156
- add_load ! (ls, destname, ArrayReference (bcname, inds, Ref {Bool} ( false ) ), elementbytes)
156
+ add_simple_load ! (ls, destname, ArrayReference (bcname, inds), elementbytes)
157
157
end
158
158
function add_broadcast! (
159
159
ls:: LoopSet , destname:: Symbol , bcname:: Symbol , loopsyms:: Vector{Symbol} ,
201
201
pushpreamble! (ls, Expr (:(= ), sizes, Expr (:call , :size , :dest )))
202
202
elementbytes = sizeof (T)
203
203
add_broadcast! (ls, :dest , :bc , loopsyms, BC, elementbytes)
204
- add_store ! (ls, :dest , ArrayReference (:dest , loopsyms, Ref {Bool} ( false ) ), elementbytes)
204
+ add_simple_store ! (ls, :dest , ArrayReference (:dest , loopsyms), elementbytes)
205
205
resize! (ls. loop_order, num_loops (ls)) # num_loops may be greater than N, eg Product
206
206
q = lower (ls)
207
207
push! (q. args, :dest )
226
226
pushpreamble! (ls, Expr (:(= ), sizes, Expr (:call , :size , :dest′ )))
227
227
elementbytes = sizeof (T)
228
228
add_broadcast! (ls, :dest , :bc , loopsyms, BC, elementbytes)
229
- add_store ! (ls, :dest , ArrayReference (:dest , reverse (loopsyms), Ref {Bool} ( false )), elementbytes)
229
+ add_simple_store ! (ls, :dest , ArrayReference (:dest , reverse (loopsyms)), elementbytes)
230
230
resize! (ls. loop_order, num_loops (ls)) # num_loops may be greater than N, eg Product
231
231
q = lower (ls)
232
232
push! (q. args, :dest′ )
0 commit comments