474
474
S
475
475
end
476
476
end
477
- function outer_reduction_zero (op:: Operation , u₁u:: Bool , Umax:: Int , reduct_class:: Float64 , rs:: Expr )
477
+ function outer_reduction_zero (op:: Operation , u₁u:: Bool , Umax:: Int , reduct_class:: Float64 , rs:: Union{ Expr, StaticInt} )
478
478
isifelse = instruction (op). instr === :ifelse
479
479
reduct_zero = if isifelse
480
480
Symbol (name (op), " ##BASE##EXTRACT##" )
515
515
516
516
# TODO : handle tiled outer reductions; they will require a suffix arg
517
517
function initialize_outer_reductions! (
518
- q:: Expr , ls:: LoopSet , op:: Operation , _Umax:: Int , us:: UnrollSpecification , rs:: Expr
518
+ q:: Expr , ls:: LoopSet , op:: Operation , _Umax:: Int , us:: UnrollSpecification , rs:: Union{ Expr, StaticInt}
519
519
)
520
520
@unpack u₁, u₂ = us
521
521
Umax = u₂ == - 1 ? _Umax : u₁
@@ -541,7 +541,7 @@ function initialize_outer_reductions!(
541
541
end
542
542
nothing
543
543
end
544
- function initialize_outer_reductions! (q:: Expr , ls:: LoopSet , Umax:: Int )
544
+ function initialize_outer_reductions! (q:: Expr , ls:: LoopSet , Umax:: Union{ Int, StaticInt} )
545
545
rs = staticexpr (reg_size (ls))
546
546
us = ls. unrollspecification
547
547
for or ∈ ls. outer_reductions
0 commit comments