Mjolnir.jl icon indicating copy to clipboard operation
Mjolnir.jl copied to clipboard

Missing Key

Open zenna opened this issue 5 years ago • 0 comments

julia> function f(x)
         if x > 0
           k = 0
           while k < 10
             k += 1
             x = x * 4
           end
         else
           j = 0
           while j < 5
             j += 1
             x = x + 4
           end
         end
         x
       end
f (generic function with 1 method)

julia> @trace f(::Int)
ERROR: Tracing Error: KeyError: key %58 not found
Stacktrace:
 [1] trace(::Any, ::Any, ::Vararg{Any,N} where N) at /home/zenna/.julia/packages/Mjolnir/7FUVN/src/trace.jl:268
 [2] top-level scope at REPL[29]:1
caused by [exception 1]
KeyError: key %58 not found
Stacktrace:
 [1] getindex at ./dict.jl:467 [inlined]
 [2] substitute at /home/zenna/.julia/packages/IRTools/GVPoj/src/ir/ir.jl:853 [inlined]
 [3] _broadcast_getindex_evalf(::typeof(IRTools.Inner.substitute), ::IRTools.Inner.Pipe, ::IRTools.Inner.Variable) at ./broadcast.jl:648
 [4] _broadcast_getindex(::Base.Broadcast.Broadcasted{Base.Broadcast.DefaultArrayStyle{1},Tuple{Base.OneTo{Int64}},typeof(IRTools.Inner.substitute),Tuple{Tuple{IRTools.Inner.Pipe},Base.Broadcast.Extruded{Array{Any,1},Tuple{Bool},Tuple{Int64}}}}, ::Int64) at ./broadcast.jl:621
 [5] getindex at ./broadcast.jl:575 [inlined]
 [6] copyto_nonleaf!(::Array{typeof(<),1}, ::Base.Broadcast.Broadcasted{Base.Broadcast.DefaultArrayStyle{1},Tuple{Base.OneTo{Int64}},typeof(IRTools.Inner.substitute),Tuple{Tuple{IRTools.Inner.Pipe},Base.Broadcast.Extruded{Array{Any,1},Tuple{Bool},Tuple{Int64}}}}, ::Base.OneTo{Int64}, ::Int64, ::Int64) at ./broadcast.jl:1026
 [7] copy(::Base.Broadcast.Broadcasted{Base.Broadcast.DefaultArrayStyle{1},Tuple{Base.OneTo{Int64}},typeof(IRTools.Inner.substitute),Tuple{Tuple{IRTools.Inner.Pipe},Array{Any,1}}}) at ./broadcast.jl:880
 [8] materialize(::Base.Broadcast.Broadcasted{Base.Broadcast.DefaultArrayStyle{1},Nothing,typeof(IRTools.Inner.substitute),Tuple{Tuple{IRTools.Inner.Pipe},Array{Any,1}}}) at ./broadcast.jl:837
 [9] substitute(::IRTools.Inner.Pipe, ::Expr) at /home/zenna/.julia/packages/IRTools/GVPoj/src/ir/ir.jl:856
 [10] substitute(::IRTools.Inner.Pipe, ::IRTools.Inner.Statement) at /home/zenna/.julia/packages/IRTools/GVPoj/src/ir/ir.jl:855
 [11] iterate(::IRTools.Inner.Pipe, ::Any) at /home/zenna/.julia/packages/IRTools/GVPoj/src/ir/ir.jl:892
 [12] iterate(::IRTools.Inner.Pipe, ::Any) at /home/zenna/.julia/packages/IRTools/GVPoj/src/ir/ir.jl:888
 [13] renumber(::Any) at /home/zenna/.julia/packages/IRTools/GVPoj/src/passes/passes.jl:124
 [14] |> at ./operators.jl:834 [inlined]
 [15] cleanup!(::Any) at /home/zenna/.julia/packages/Mjolnir/7FUVN/src/cleanup.jl:91
 [16] trace(::Any, ::Any, ::Vararg{Any,N} where N) at /home/zenna/.julia/packages/Mjolnir/7FUVN/src/trace.jl:266
 [17] top-level scope at REPL[29]:1

zenna avatar Nov 13 '20 03:11 zenna