@@ -55,23 +55,23 @@ struct LoopOrder <: AbstractArray{Vector{Operation},5}
55
55
end
56
56
function LoopOrder (N:: Int )
57
57
LoopOrder (
58
- [ Operation[] for _ ∈ 1 : 32 N ],
58
+ [ Operation[] for _ ∈ 1 : 8 N ],
59
59
Vector {Symbol} (undef, N), Vector {Symbol} (undef, N)
60
60
)
61
61
end
62
62
LoopOrder () = LoopOrder (Vector{Operation}[],Symbol[],Symbol[])
63
63
Base. empty! (lo:: LoopOrder ) = foreach (empty!, lo. oporder)
64
64
function Base. resize! (lo:: LoopOrder , N:: Int )
65
65
Nold = length (lo. loopnames)
66
- resize! (lo. oporder, 32 N )
67
- for n ∈ 32 Nold + 1 : 32 N
66
+ resize! (lo. oporder, 8 N )
67
+ for n ∈ 8 Nold + 1 : 8 N
68
68
lo. oporder[n] = Operation[]
69
69
end
70
70
resize! (lo. loopnames, N)
71
71
resize! (lo. bestorder, N)
72
72
lo
73
73
end
74
- Base. size (lo:: LoopOrder ) = (4 , 2 ,2 ,2 ,length (lo. loopnames))
74
+ Base. size (lo:: LoopOrder ) = (2 ,2 ,2 ,length (lo. loopnames))
75
75
Base. @propagate_inbounds Base. getindex (lo:: LoopOrder , i:: Int ) = lo. oporder[i]
76
76
Base. @propagate_inbounds Base. getindex (lo:: LoopOrder , i... ) = lo. oporder[LinearIndices (size (lo))[i... ]]
77
77
149
149
num_loops (ls:: LoopSet ) = length (ls. loops)
150
150
function oporder (ls:: LoopSet )
151
151
N = length (ls. loop_order. loopnames)
152
- reshape (ls. loop_order. oporder, (4 , 2 ,2 ,2 ,N))
152
+ reshape (ls. loop_order. oporder, (2 ,2 ,2 ,N))
153
153
end
154
154
names (ls:: LoopSet ) = ls. loop_order. loopnames
155
155
isstaticloop (ls:: LoopSet , s:: Symbol ) = ls. loops[s]. hintexact
@@ -352,7 +352,7 @@ function array_reference_meta!(ls::LoopSet, array::Symbol, rawindices, elementby
352
352
parent = add_operation! (ls, gensym (:indexpr ), ind, elementbytes)
353
353
pushparent! (parents, loopdependencies, reduceddeps, parent)
354
354
# var = get(ls.opdict, ind, nothing)
355
- indices[i] = mangledvar (parent)
355
+ indices[i] = name (parent) # mangledvar(parent)
356
356
else
357
357
throw (" Unrecognized loop index: $ind ." )
358
358
end
@@ -734,9 +734,9 @@ function addoptoorder!(
734
734
end
735
735
isunrolled = (unrolled ∈ loopdependencies (op)) + 1
736
736
istiled = (loopistiled ? (tiled ∈ loopdependencies (op)) : false ) + 1
737
- optype = Int (op. node_type) + 1
737
+ # optype = Int(op.node_type) + 1
738
738
after_loop = place_after_loop[id] + 1
739
- push! (lo[optype, isunrolled,istiled,after_loop,_n], op)
739
+ push! (lo[isunrolled,istiled,after_loop,_n], op)
740
740
set_upstream_family! (place_after_loop, op, false ) # parents that have already been included are not moved, so no need to check included_vars to filter
741
741
nothing
742
742
end
0 commit comments