@@ -218,7 +218,6 @@ function OperationStruct!(
218218 ls:: LoopSet ,
219219 op:: Operation ,
220220)
221- instr = instruction (op)
222221 ld = loopdeps_uint (ls, op)
223222 rd = reduceddeps_uint (ls, op)
224223 cd = childdeps_uint (ls, op)
241240@inline zerorangestart (r:: ArrayInterface.OptionallyStaticUnitRange{StaticInt{1}} ) =
242241 CloseOpen (maybestaticlast (r))
243242
244- function loop_boundary! (q:: Expr , ls :: LoopSet , loop:: Loop , shouldindbyind:: Bool )
243+ function loop_boundary! (q:: Expr , loop:: Loop , shouldindbyind:: Bool )
245244 if isstaticloop (loop) || loop. rangesym === Symbol (" " )
246245 call = Expr (:call , :(:))
247246 f = gethint (first (loop))
265264function loop_boundaries (ls:: LoopSet , shouldindbyind:: Vector{Bool} )
266265 lbd = Expr (:tuple )
267266 for (ibi, loop) ∈ zip (shouldindbyind, ls. loops)
268- loop_boundary! (lbd, ls, loop, ibi)
267+ loop_boundary! (lbd, loop, ibi)
269268 end
270269 lbd
271270end
@@ -770,8 +769,11 @@ function generate_call_types(
770769 ops = operations (ls)
771770 for op ∈ ops
772771 instr:: Instruction = instruction (op)
773- if ((isconstant (op) && (instr == LOOPCONSTANT)) && (! roots[identifier (op)]))
774- instr = op. instruction = DROPPEDCONSTANT
772+ if (! roots[identifier (op)])
773+ if (isconstant (op) && (instr == LOOPCONSTANT)) || ! isconstant (op)
774+ instr = op. instruction = DROPPEDCONSTANT
775+ op. node_type = constant
776+ end
775777 end
776778 push! (operation_descriptions. args, QuoteNode (instr. mod))
777779 push! (operation_descriptions. args, QuoteNode (instr. instr))
0 commit comments