Skip to content

Instantly share code, notes, and snippets.

@yuyichao
Created April 1, 2016 22:49
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save yuyichao/7b7c033c77481fdb64f7ae0dc9cea777 to your computer and use it in GitHub Desktop.
Save yuyichao/7b7c033c77481fdb64f7ae0dc9cea777 to your computer and use it in GitHub Desktop.
# line 94 /home/yuyichao/projects/julia/tests/subarray/test/subarray.jl
Slot(id=4, typ=Any) = true
# line 95 /home/yuyichao/projects/julia/tests/subarray/test/subarray.jl
Expr(:inbounds, false)::Any
# line 404 abstractarray.jl
# line 94 multidimensional.jl
# line 53 abstractarray.jl
GenSym(39) = 3
# line 150 int.jl
Expr(:gotoifnot, Expr(:call, Base.sle_int, 1, GenSym(39))::Bool, 13)::Any
Slot(id=14, typ=Int32) = Expr(:call, Base.getfield, Expr(:call, top(:getfield), Slot(id=2, typ=Base.SubArray{Int32, 3, Array{Int32, 3}, Tuple{Base.SubArray{Int32, 1, Base.UnitRange{Int32}, Tuple{Array{Int32, 1}}, false}, Base.Colon, Base.StepRange{Int32, Int32}}, false}), :dims)::Tuple{Int32, Int32, Int32}, 1)::Int32
goto 15
13:
Slot(id=14, typ=Int32) = 1
15:
# line 53 abstractarray.jl
GenSym(38) = 3
# line 150 int.jl
Expr(:gotoifnot, Expr(:call, Base.sle_int, 2, GenSym(38))::Bool, 22)::Any
Slot(id=13, typ=Int32) = Expr(:call, Base.getfield, Expr(:call, top(:getfield), Slot(id=2, typ=Base.SubArray{Int32, 3, Array{Int32, 3}, Tuple{Base.SubArray{Int32, 1, Base.UnitRange{Int32}, Tuple{Array{Int32, 1}}, false}, Base.Colon, Base.StepRange{Int32, Int32}}, false}), :dims)::Tuple{Int32, Int32, Int32}, 2)::Int32
goto 24
22:
Slot(id=13, typ=Int32) = 1
24:
# line 53 abstractarray.jl
GenSym(37) = 3
# line 150 int.jl
Expr(:gotoifnot, Expr(:call, Base.sle_int, 3, GenSym(37))::Bool, 31)::Any
Slot(id=12, typ=Int32) = Expr(:call, Base.getfield, Expr(:call, top(:getfield), Slot(id=2, typ=Base.SubArray{Int32, 3, Array{Int32, 3}, Tuple{Base.SubArray{Int32, 1, Base.UnitRange{Int32}, Tuple{Array{Int32, 1}}, false}, Base.Colon, Base.StepRange{Int32, Int32}}, false}), :dims)::Tuple{Int32, Int32, Int32}, 3)::Int32
goto 33
31:
Slot(id=12, typ=Int32) = 1
33:
Expr(:inbounds, :pop)::Any
Expr(:inbounds, false)::Any
# line 404 abstractarray.jl
# line 414 abstractarray.jl
GenSym(36) = Expr(:call, Base.arraylen, Slot(id=3, typ=Array{Int32, 3}))::Int32
# line 83 range.jl
Expr(:inbounds, :pop)::Any
GenSym(165) = Expr(:new, Base.IteratorsMD.CartesianRange{Base.IteratorsMD.CartesianIndex{3}}, Expr(:new, Base.IteratorsMD.CartesianIndex{3}, Expr(:call, top(:tuple), 1, 1, 1)::Tuple{Int32, Int32, Int32})::Base.IteratorsMD.CartesianIndex{3}, Expr(:new, Base.IteratorsMD.CartesianIndex{3}, Expr(:call, top(:tuple), Slot(id=14, typ=Int32), Slot(id=13, typ=Int32), Slot(id=12, typ=Int32))::Tuple{Int32, Int32, Int32})::Base.IteratorsMD.CartesianIndex{3})::Base.IteratorsMD.CartesianRange{Base.IteratorsMD.CartesianIndex{3}}
GenSym(166) = Expr(:new, Base.UnitRange{Int32}, 1, Expr(:call, Base.select_value, Expr(:call, Base.sle_int, 1, GenSym(36))::Bool, GenSym(36), Expr(:call, Base.box, Int32, Expr(:call, Base.sub_int, 1, 1)::Any)::Int32)::Int32)::Base.UnitRange{Int32}
Slot(id=5, typ=Any) = Expr(:call, top(:tuple), Expr(:call, Base.start, GenSym(165))::Base.IteratorsMD.CartesianIndex{3}, Expr(:call, top(:getfield), GenSym(166), :start)::Int32)::Tuple{Base.IteratorsMD.CartesianIndex{3}, Int32}
44:
Expr(:gotoifnot, Expr(:call, Base.box, Base.Bool, Expr(:call, Base.not_int, Expr(:call, Base.box, Base.Bool, Expr(:call, Base.or_int, Expr(:call, Base.slt_int, Expr(:call, Base.getfield, Expr(:call, top(:getfield), Expr(:call, top(:getfield), GenSym(165), :stop)::Base.IteratorsMD.CartesianIndex{3},:I)::Tuple{Int32, Int32, Int32}, 3)::Int32, Expr(:call, Base.getfield, Expr(:call, top(:getfield), Expr(:call, Base.getfield, Slot(id=5, typ=Tuple{Base.IteratorsMD.CartesianIndex{3}, Int32}), 1)::Base.IteratorsMD.CartesianIndex{3}, :I)::Tuple{Int32, Int32, Int32}, 3)::Int32)::Bool, Expr(:call, Base.===, Expr(:call, Base.getfield, Slot(id=5, typ=Tuple{Base.IteratorsMD.CartesianIndex{3}, Int32}), 2)::Int32, Expr(:call, Base.box, Int32, Expr(:call, Base.add_int, Expr(:call, top(:getfield), GenSym(166), :stop)::Int32, 1)::Any)::Int32)::Bool)::Any)::Bool)::Any)::Bool, 724)::Any
<newvar Slot(id=9, typ=Any)>
<newvar Slot(id=10, typ=Any)>
<newvar Slot(id=11, typ=Any)>
Expr(:inbounds, false)::Any
# line 73 iterator.jl
GenSym(41) = GenSym(165)
GenSym(40) = Expr(:call, Base.getfield, Slot(id=5, typ=Tuple{Base.IteratorsMD.CartesianIndex{3}, Int32}), 1)::Base.IteratorsMD.CartesianIndex{3}
# line 126 multidimensional.jl
# line 129 multidimensional.jl
# line 130 multidimensional.jl
<newvar Slot(id=18, typ=Any)>
<newvar Slot(id=19, typ=Any)>
<newvar Slot(id=20, typ=Any)>
<newvar Slot(id=21, typ=Any)>
# line 131 multidimensional.jl
Expr(:gotoifnot, Expr(:call, Base.slt_int, Expr(:call, Base.getfield, Expr(:call, top(:getfield), GenSym(40), :I)::Tuple{Int32, Int32, Int32}, 1)::Int32, Expr(:call, Base.getfield, Expr(:call, top(:getfield), Expr(:call, top(:getfield), GenSym(41), :stop)::Base.IteratorsMD.CartesianIndex{3}, :I)::Tuple{Int32, Int32, Int32}, 1)::Int32)::Bool, 78)::Any
# line 172 promotion.jl
# line 135 promotion.jl
Int32
Int32
Slot(id=18, typ=Any) = Expr(:call, Base.select_value, Expr(:call, Base.sle_int, 1, 1)::Bool, Expr(:call, Base.box, Int32, Expr(:call, Base.add_int, Expr(:call, Base.getfield, Expr(:call, top(:getfield), GenSym(40), :I)::Tuple{Int32, Int32, Int32}, 1)::Int32, Expr(:call, Base.box, Int32, Expr(:call, Base.zext_int, Int32, Expr(:call, Base.===, 1, 1)::Bool)::Any)::Int32)::Any)::Int32, Expr(:call, Base.getfield, Expr(:call, top(:getfield), Expr(:call, top(:getfield), GenSym(41), :start)::Base.IteratorsMD.CartesianIndex{3}, :I)::Tuple{Int32, Int32, Int32}, 1)::Int32)::Int32
# line 172 promotion.jl
#line 135 promotion.jl
Int32
Int32
Slot(id=19, typ=Any) = Expr(:call, Base.select_value, Expr(:call, Base.sle_int, 1, 2)::Bool, Expr(:call, Base.box, Int32, Expr(:call, Base.add_int, Expr(:call, Base.getfield, Expr(:call, top(:getfield), GenSym(40), :I)::Tuple{Int32, Int32, Int32}, 2)::Int32, Expr(:call, Base.box, Int32, Expr(:call, Base.zext_int, Int32, Expr(:call, Base.===, 2, 1)::Bool)::Any)::Int32)::Any)::Int32, Expr(:call, Base.getfield, Expr(:call, top(:getfield), Expr(:call, top(:getfield), GenSym(41), :start)::Base.IteratorsMD.CartesianIndex{3}, :I)::Tuple{Int32, Int32, Int32}, 2)::Int32)::Int32
# line 172 promotion.jl
# line 135 promotion.jl
Int32
Int32
Slot(id=20, typ=Any) = Expr(:call, Base.select_value, Expr(:call, Base.sle_int, 1, 3)::Bool, Expr(:call, Base.box, Int32, Expr(:call, Base.add_int, Expr(:call, Base.getfield, Expr(:call, top(:getfield), GenSym(40), :I)::Tuple{Int32, Int32, Int32}, 3)::Int32, Expr(:call, Base.box, Int32, Expr(:call, Base.zext_int, Int32, Expr(:call, Base.===, 3, 1)::Bool)::Any)::Int32)::Any)::Int32, Expr(:call, Base.getfield, Expr(:call, top(:getfield), Expr(:call, top(:getfield), GenSym(41), :start)::Base.IteratorsMD.CartesianIndex{3}, :I)::Tuple{Int32, Int32, Int32}, 3)::Int32)::Int32
goto 112
78:
Expr(:gotoifnot, Expr(:call, Base.slt_int, Expr(:call, Base.getfield, Expr(:call, top(:getfield), GenSym(40), :I)::Tuple{Int32, Int32, Int32}, 2)::Int32, Expr(:call, Base.getfield, Expr(:call, top(:getfield), Expr(:call, top(:getfield), GenSym(41), :stop)::Base.IteratorsMD.CartesianIndex{3}, :I)::Tuple{Int32, Int32, Int32}, 2)::Int32)::Bool, 96)::Any
# line 172 promotion.jl
# line 135 promotion.jl
Int32
Int32
Slot(id=18, typ=Any) = Expr(:call, Base.select_value, Expr(:call, Base.sle_int, 2, 1)::Bool, Expr(:call, Base.box, Int32, Expr(:call, Base.add_int, Expr(:call, Base.getfield, Expr(:call, top(:getfield), GenSym(40), :I)::Tuple{Int32, Int32, Int32}, 1)::Int32, Expr(:call, Base.box, Int32, Expr(:call, Base.zext_int, Int32, Expr(:call, Base.===, 1, 2)::Bool)::Any)::Int32)::Any)::Int32, Expr(:call, Base.getfield, Expr(:call, top(:getfield), Expr(:call, top(:getfield), GenSym(41), :start)::Base.IteratorsMD.CartesianIndex{3}, :I)::Tuple{Int32, Int32, Int32}, 1)::Int32)::Int32
# line 172 promotion.jl
# line 135 promotion.jl
Int32
Int32
Slot(id=19, typ=Any) = Expr(:call, Base.select_value, Expr(:call, Base.sle_int, 2, 2)::Bool, Expr(:call, Base.box, Int32, Expr(:call, Base.add_int, Expr(:call, Base.getfield, Expr(:call, top(:getfield), GenSym(40), :I)::Tuple{Int32, Int32, Int32}, 2)::Int32, Expr(:call, Base.box, Int32, Expr(:call, Base.zext_int, Int32, Expr(:call, Base.===, 2, 2)::Bool)::Any)::Int32)::Any)::Int32, Expr(:call, Base.getfield, Expr(:call, top(:getfield), Expr(:call, top(:getfield), GenSym(41), :start)::Base.IteratorsMD.CartesianIndex{3}, :I)::Tuple{Int32, Int32, Int32}, 2)::Int32)::Int32
# line 172 promotion.jl
# line 135 promotion.jl
Int32
Int32
Slot(id=20, typ=Any) = Expr(:call, Base.select_value, Expr(:call, Base.sle_int, 2, 3)::Bool, Expr(:call, Base.box, Int32, Expr(:call, Base.add_int, Expr(:call, Base.getfield, Expr(:call, top(:getfield),GenSym(40), :I)::Tuple{Int32, Int32, Int32}, 3)::Int32, Expr(:call, Base.box, Int32, Expr(:call, Base.zext_int, Int32, Expr(:call, Base.===, 3, 2)::Bool)::Any)::Int32)::Any)::Int32, Expr(:call, Base.getfield, Expr(:call, top(:getfield), Expr(:call, top(:getfield), GenSym(41), :start)::Base.IteratorsMD.CartesianIndex{3}, :I)::Tuple{Int32, Int32, Int32}, 3)::Int32)::Int32
goto 112
96:
# line 172 promotion.jl
# line 135 promotion.jl
Int32
Int32
Slot(id=18, typ=Any) = Expr(:call, Base.select_value, Expr(:call, Base.sle_int, 3, 1)::Bool, Expr(:call, Base.box, Int32, Expr(:call, Base.add_int, Expr(:call, Base.getfield, Expr(:call, top(:getfield), GenSym(40),:I)::Tuple{Int32, Int32, Int32}, 1)::Int32, Expr(:call, Base.box, Int32, Expr(:call, Base.zext_int, Int32, Expr(:call, Base.===, 1, 3)::Bool)::Any)::Int32)::Any)::Int32, Expr(:call, Base.getfield, Expr(:call, top(:getfield), Expr(:call, top(:getfield), GenSym(41), :start)::Base.IteratorsMD.CartesianIndex{3}, :I)::Tuple{Int32, Int32, Int32}, 1)::Int32)::Int32
# line 172 promotion.jl
# line 135 promotion.jl
Int32
Int32
Slot(id=19, typ=Any) = Expr(:call, Base.select_value, Expr(:call, Base.sle_int, 3, 2)::Bool, Expr(:call, Base.box, Int32, Expr(:call, Base.add_int, Expr(:call, Base.getfield, Expr(:call, top(:getfield), GenSym(40), :I)::Tuple{Int32, Int32, Int32}, 2)::Int32, Expr(:call, Base.box, Int32, Expr(:call, Base.zext_int, Int32, Expr(:call, Base.===, 2, 3)::Bool)::Any)::Int32)::Any)::Int32, Expr(:call, Base.getfield, Expr(:call, top(:getfield), Expr(:call, top(:getfield), GenSym(41), :start)::Base.IteratorsMD.CartesianIndex{3}, :I)::Tuple{Int32, Int32, Int32}, 2)::Int32)::Int32
# line 172 promotion.jl
# line 135 promotion.jl
Int32
Int32
Slot(id=20, typ=Any) = Expr(:call, Base.select_value, Expr(:call, Base.sle_int, 3, 3)::Bool, Expr(:call, Base.box, Int32, Expr(:call, Base.add_int, Expr(:call, Base.getfield, Expr(:call, top(:getfield), GenSym(40), :I)::Tuple{Int32, Int32, Int32}, 3)::Int32, Expr(:call, Base.box, Int32, Expr(:call, Base.zext_int, Int32, Expr(:call, Base.===, 3, 3)::Bool)::Any)::Int32)::Any)::Int32, Expr(:call, Base.getfield, Expr(:call, top(:getfield), Expr(:call, top(:getfield), GenSym(41), :start)::Base.IteratorsMD.CartesianIndex{3}, :I)::Tuple{Int32, Int32, Int32}, 3)::Int32)::Int32
112:
# line 132 multidimensional.jl
Slot(id=21, typ=Any) = Expr(:new, Base.IteratorsMD.CartesianIndex{3}, Expr(:call, top(:tuple), Slot(id=18, typ=Int32), Slot(id=19, typ=Int32), Slot(id=20,typ=Int32))::Tuple{Int32, Int32, Int32})::Base.IteratorsMD.CartesianIndex{3}
# line 133 multidimensional.jl
GenSym(43) = GenSym(40)
GenSym(44) = Slot(id=21, typ=Base.IteratorsMD.CartesianIndex{3})
# line 74 iterator.jl
GenSym(42) = Expr(:call, Base.getfield, Slot(id=5, typ=Tuple{Base.IteratorsMD.CartesianIndex{3}, Int32}), 2)::Int32
# line 398 range.jl
GenSym(45) = GenSym(42)
GenSym(46) = Expr(:call, Base.box, Int32, Expr(:call, Base.add_int, GenSym(42), 1)::Any)::Int32
# line 75 iterator.jl
Expr(:inbounds, :pop)::Any
GenSym(167) = Expr(:call, top(:tuple), GenSym(43), GenSym(45))::Tuple{Base.IteratorsMD.CartesianIndex{3}, Int32}
GenSym(168) = Expr(:call, top(:tuple), GenSym(44), GenSym(46))::Tuple{Base.IteratorsMD.CartesianIndex{3}, Int32}
GenSym(2) = GenSym(167)
Slot(id=8, typ=Any) = 1
GenSym(169) = Expr(:call, Base.getfield, GenSym(2), 1)::Union{Base.IteratorsMD.CartesianIndex{3}, Int32}
GenSym(170) = Expr(:call, Base.box, Int32, Expr(:call, Base.add_int, 1, 1)::Any)::Int32
Slot(id=6, typ=Any) = GenSym(169)
Slot(id=8, typ=Any) = GenSym(170)
GenSym(171) = Expr(:call, Base.getfield, GenSym(2), 2)::Union{Base.IteratorsMD.CartesianIndex{3}, Int32}
GenSym(172) = Expr(:call, Base.box, Int32, Expr(:call, Base.add_int, 2, 1)::Any)::Int32
Slot(id=7, typ=Any) = GenSym(171)
Slot(id=8, typ=Any) = GenSym(172)
Slot(id=5, typ=Any) = GenSym(168)
# line 96 /home/yuyichao/projects/julia/tests/subarray/test/subarray.jl
# line 475 abstractarray.jl
# line 476 abstractarray.jl
GenSym(100) = Slot(id=6, typ=Base.IteratorsMD.CartesianIndex{3})
# line 362 multidimensional.jl
Expr(:inbounds, false)::Any
GenSym(98) = Expr(:call, Base.getfield, Expr(:call, top(:getfield), GenSym(100), :I)::Tuple{Int32, Int32, Int32}, 1)::Int32
GenSym(99) = Expr(:call, Base.getfield, Expr(:call, top(:getfield), GenSym(100), :I)::Tuple{Int32, Int32, Int32}, 2)::Int32
# line 143 subarray.jl
# line 144 subarray.jl
Expr(:boundscheck, true)::Any
Expr(:inbounds, false)::Any
GenSym(90) = GenSym(98)
GenSym(91) = GenSym(99)
# line 150 abstractarray.jl
GenSym(52) = GenSym(90)
GenSym(51) = GenSym(91)
# line 162 abstractarray.jl
# line 163 abstractarray.jl
# line 53 abstractarray.jl
GenSym(54) = 3
# line 150 int.jl
Expr(:gotoifnot, Expr(:call, Base.sle_int, 1, GenSym(54))::Bool, 163)::Any
Slot(id=24, typ=Int32) = Expr(:call, Base.getfield, Expr(:call, top(:getfield), Slot(id=2, typ=Base.SubArray{Int32, 3, Array{Int32, 3}, Tuple{Base.SubArray{Int32, 1, Base.UnitRange{Int32}, Tuple{Array{Int32, 1}}, false}, Base.Colon, Base.StepRange{Int32, Int32}}, false}), :dims)::Tuple{Int32, Int32, Int32}, 1)::Int32
goto 165
163:
Slot(id=24, typ=Int32) = 1
165:
# line 131 abstractarray.jl
Expr(:gotoifnot, Expr(:call, Base.sle_int, 1, GenSym(52))::Bool, 170)::Any
Slot(id=25, typ=Bool) = Expr(:call, Base.sle_int, GenSym(52), Slot(id=24, typ=Int32))::Bool
goto 172
170:
Slot(id=25, typ=Bool) = false
172:
Expr(:gotoifnot, Slot(id=25, typ=Bool), 202)::Any
# line 122 abstractarray.jl
# line 53 abstractarray.jl
GenSym(56) = 3
# line 150 int.jl
Expr(:gotoifnot, Expr(:call, Base.sle_int, 2, GenSym(56))::Bool, 181)::Any
Slot(id=27, typ=Int32) = Expr(:call, Base.getfield, Expr(:call, top(:getfield), Slot(id=2, typ=Base.SubArray{Int32, 3, Array{Int32, 3}, Tuple{Base.SubArray{Int32, 1, Base.UnitRange{Int32}, Tuple{Array{Int32, 1}}, false}, Base.Colon, Base.StepRange{Int32, Int32}}, false}), :dims)::Tuple{Int32, Int32, Int32}, 2)::Int32
goto 183
181:
Slot(id=27, typ=Int32) = 1
183:
# line 53 abstractarray.jl
GenSym(55) = 3
# line 150 int.jl
Expr(:gotoifnot, Expr(:call, Base.sle_int, 3, GenSym(55))::Bool, 190)::Any
Slot(id=26, typ=Int32) = Expr(:call, Base.getfield, Expr(:call, top(:getfield), Slot(id=2, typ=Base.SubArray{Int32, 3, Array{Int32, 3}, Tuple{Base.SubArray{Int32, 1, Base.UnitRange{Int32}, Tuple{Array{Int32, 1}}, false}, Base.Colon, Base.StepRange{Int32, Int32}}, false}), :dims)::Tuple{Int32, Int32, Int32}, 3)::Int32
goto 192
190:
Slot(id=26, typ=Int32) = 1
192:
# line 131 abstractarray.jl
Expr(:gotoifnot, Expr(:call, Base.sle_int, 1, GenSym(51))::Bool, 197)::Any
Slot(id=28, typ=Bool) = Expr(:call, Base.sle_int, GenSym(51), Expr(:call, Base.box, Int32, Expr(:call, Base.mul_int, Slot(id=27, typ=Int32), Slot(id=26, typ=Int32))::Any)::Int32)::Bool
goto 199
197:
Slot(id=28, typ=Bool) = false
199:
Slot(id=23, typ=Any) = Slot(id=28, typ=Bool)
goto 204
202:
Slot(id=23, typ=Any) = false
204:
GenSym(53) = Slot(id=23, typ=Bool)
Expr(:gotoifnot, GenSym(53), 209)::Any
Slot(id=29, typ=Bool) = GenSym(53)
goto 211
209:
Slot(id=29, typ=Bool) = Expr(:call, Base.throw_boundserror, Slot(id=2, typ=Base.SubArray{Int32, 3, Array{Int32, 3}, Tuple{Base.SubArray{Int32, 1, Base.UnitRange{Int32}, Tuple{Array{Int32, 1}}, false}, Base.Colon, Base.StepRange{Int32, Int32}}, false}), Expr(:call, top(:tuple), GenSym(52), GenSym(51))::Tuple{Int32, Int32})::Union{}
211:
Expr(:inbounds, :pop)::Any
Slot(id=29, typ=Bool)
Expr(:boundscheck, Base.pop)::Any
# line 145 subarray.jl
Expr(:inbounds, true)::Any
GenSym(58) = Expr(:call, top(:getfield), Slot(id=2, typ=Base.SubArray{Int32, 3, Array{Int32, 3}, Tuple{Base.SubArray{Int32, 1, Base.UnitRange{Int32}, Tuple{Array{Int32, 1}}, false}, Base.Colon, Base.StepRange{Int32, Int32}}, false}), :indexes)::Tuple{Base.SubArray{Int32, 1, Base.UnitRange{Int32}, Tuple{Array{Int32, 1}}, false}, Base.Colon, Base.StepRange{Int32, Int32}}
GenSym(92) = GenSym(98)
GenSym(93) = GenSym(99)
# line 130 subarray.jl
Expr(:inbounds, false)::Any
GenSym(74) = Expr(:call, Base.getfield, GenSym(58), 1)::Base.SubArray{Int32, 1, Base.UnitRange{Int32}, Tuple{Array{Int32, 1}}, false}
GenSym(83) = GenSym(92)
# line 143 subarray.jl
# line 144 subarray.jl
Expr(:boundscheck, true)::Any
Expr(:inbounds, false)::Any
# line 150 abstractarray.jl
GenSym(76) = GenSym(83)
# line 155 abstractarray.jl
# line 131 abstractarray.jl
Expr(:gotoifnot, Expr(:call, Base.sle_int, 1, GenSym(76))::Bool, 235)::Any
Slot(id=37, typ=Bool) = Expr(:call, Base.sle_int, GenSym(76), Expr(:call, top(:getfield), Expr(:call, top(:getfield), GenSym(74), :dims)::Tuple{Int32}, 1)::Int32)::Bool
goto 237
235:
Slot(id=37, typ=Bool) = false
237:
GenSym(77) = Slot(id=37, typ=Bool)
Expr(:gotoifnot, GenSym(77), 242)::Any
Slot(id=38, typ=Bool) = GenSym(77)
goto 244
242:
Slot(id=38, typ=Bool) = Expr(:call, Base.throw_boundserror, GenSym(74), GenSym(76))::Union{}
244:
Expr(:inbounds, :pop)::Any
Slot(id=38, typ=Bool)
Expr(:boundscheck, Base.pop)::Any
# line 145 subarray.jl
Expr(:inbounds, true)::Any
GenSym(82) = Expr(:call, Base.arrayref, Expr(:call, Base.getfield, Expr(:call, top(:getfield), GenSym(74), :indexes)::Tuple{Array{Int32, 1}}, 1)::Array{Int32, 1}, GenSym(83))::Int32
Expr(:inbounds, false)::Any
GenSym(79) = Expr(:call, top(:getfield), GenSym(74), :parent)::Base.UnitRange{Int32}
GenSym(78) = GenSym(82)
# line 422 range.jl
# line 423 range.jl
Expr(:boundscheck, true)::Any
Expr(:inbounds, false)::Any
# line 150 abstractarray.jl
GenSym(80) = GenSym(78)
# line 155 abstractarray.jl
# line 131 abstractarray.jl
Expr(:gotoifnot, Expr(:call, Base.sle_int, 1, GenSym(80))::Bool, 265)::Any
Slot(id=39, typ=Bool) = Expr(:call, Base.sle_int, GenSym(80), Expr(:call, Base.Checked.box, Int32, Expr(:call, Base.Checked.checked_sadd_int, Expr(:call, Base.Checked.box, Int32, Expr(:call, Base.Checked.checked_ssub_int, Expr(:call, top(:getfield), GenSym(79), :stop)::Int32, Expr(:call, top(:getfield), GenSym(79), :start)::Int32)::Any)::Int32, 1)::Any)::Int32)::Bool
goto 267
265:
Slot(id=39, typ=Bool) = false
267:
GenSym(81) = Slot(id=39, typ=Bool)
Expr(:gotoifnot, GenSym(81), 272)::Any
Slot(id=40, typ=Bool) = GenSym(81)
goto 274
272:
Slot(id=40, typ=Bool) = Expr(:call, Base.throw_boundserror, GenSym(79), GenSym(80))::Union{}
274:
Expr(:inbounds, :pop)::Any
Slot(id=40, typ=Bool)
Expr(:boundscheck, Base.pop)::Any
# line 424 range.jl
Expr(:inbounds, :pop)::Any
Slot(id=36, typ=Any) = Expr(:call, Base.box, Int32, Expr(:call, Base.add_int, Expr(:call, top(:getfield), GenSym(79), :start)::Int32, Expr(:call, Base.box, Int32, Expr(:call,Base.mul_int, Expr(:call, Base.box, Int32, Expr(:call, Base.sub_int, GenSym(78), 1)::Any)::Int32, 1)::Any)::Int32)::Any)::Int32
Expr(:inbounds, Base.pop)::Any
# line 146 subarray.jl
Expr(:inbounds, :pop)::Any
GenSym(84) = Expr(:call, top(:getfield), GenSym(58), 2)::Base.Colon
GenSym(85) = Expr(:call, top(:getfield), GenSym(58), 3)::Base.StepRange{Int32, Int32}
# line 125 subarray.jl
Expr(:inbounds, false)::Any
# line 478 multidimensional.jl
Expr(:inbounds, false)::Any
GenSym(61) = Expr(:call, Base.nfields, Expr(:call, top(:getfield), Slot(id=2, typ=Base.SubArray{Int32, 3, Array{Int32, 3}, Tuple{Base.SubArray{Int32, 1, Base.UnitRange{Int32}, Tuple{Array{Int32, 1}}, false}, Base.Colon, Base.StepRange{Int32, Int32}}, false}), :indexes)::Tuple{Base.SubArray{Int32, 1, Base.UnitRange{Int32}, Tuple{Array{Int32, 1}}, false}, Base.Colon, Base.StepRange{Int32, Int32}})::Int32
GenSym(60) = 2
# line 31 int.jl
Expr(:inbounds, :pop)::Any
Expr(:inbounds, false)::Any
GenSym(71) = Expr(:call, Base.arraysize, Expr(:call, top(:getfield), Slot(id=2, typ=Base.SubArray{Int32, 3, Array{Int32, 3}, Tuple{Base.SubArray{Int32, 1, Base.UnitRange{Int32}, Tuple{Array{Int32, 1}}, false}, Base.Colon, Base.StepRange{Int32, Int32}}, false}), :parent)::Array{Int32, 3}, Expr(:call, Base.box, Int32, Expr(:call, Base.add_int, Expr(:call, Base.box, Int32, Expr(:call, Base.sub_int, GenSym(61), GenSym(60))::Any)::Int32, 1)::Any)::Int32)::Int32
GenSym(72) = Expr(:call, Base.length, GenSym(85))::Int32
#line 480 multidimensional.jl
Expr(:inbounds, false)::Any
Slot(id=30, typ=Int32) = GenSym(93)
# line 1014 abstractarray.jl
Slot(id=30, typ=Int32) = Expr(:call, Base.box, Int32, Expr(:call, Base.sub_int, Slot(id=30, typ=Int32), 1)::Any)::Int32
Slot(id=31, typ=Any) = Expr(:call, Base.box, Int32, Expr(:call, Base.checked_sdiv_int,Slot(id=30, typ=Int32), GenSym(71))::Any)::Int32
Slot(id=32, typ=Any) = Expr(:call, Base.box, Int32, Expr(:call, Base.add_int, Expr(:call, Base.box, Int32, Expr(:call, Base.sub_int, Slot(id=30, typ=Int32), Expr(:call, Base.box, Int32, Expr(:call, Base.mul_int, GenSym(71), Slot(id=31, typ=Int32))::Any)::Int32)::Any)::Int32, 1)::Any)::Int32
Slot(id=30, typ=Int32) = Slot(id=31, typ=Int32)
Slot(id=33, typ=Any) = Expr(:call, Base.box, Int32, Expr(:call, Base.add_int, Slot(id=30, typ=Int32), 1)::Any)::Int32
Expr(:inbounds, :pop)::Any
Expr(:inbounds, false)::Any
GenSym(69) = Slot(id=32, typ=Int32)
GenSym(70) = Slot(id=33, typ=Int32)
# line 472 multidimensional.jl
Expr(:inbounds, false)::Any
# line 472 multidimensional.jl
Expr(:inbounds, false)::Any
GenSym(65) = GenSym(85)
GenSym(64) = GenSym(70)
# line 422 range.jl
# line 423 range.jl
Expr(:boundscheck, true)::Any
Expr(:inbounds, false)::Any
# line 150 abstractarray.jl
GenSym(66) = GenSym(64)
# line 155 abstractarray.jl
GenSym(68) = Expr(:call, Base.length, GenSym(65))::Int32
# line 131 abstractarray.jl
Expr(:gotoifnot, Expr(:call, Base.sle_int, 1, GenSym(66))::Bool, 328)::Any
Slot(id=34, typ=Bool) = Expr(:call, Base.sle_int, GenSym(66), GenSym(68))::Bool
goto 330
328:
Slot(id=34, typ=Bool) = false
330:
GenSym(67) = Slot(id=34, typ=Bool)
Expr(:gotoifnot, GenSym(67), 335)::Any
Slot(id=35, typ=Bool) = GenSym(67)
goto 337
335:
Slot(id=35, typ=Bool) = Expr(:call, Base.throw_boundserror, GenSym(65), GenSym(66))::Union{}
337:
Expr(:inbounds, :pop)::Any
Slot(id=35, typ=Bool)
Expr(:boundscheck, Base.pop)::Any
# line 424 range.jl
Expr(:inbounds, :pop)::Any
Expr(:inbounds, :pop)::Any
Expr(:inbounds, :pop)::Any
Expr(:inbounds, :pop)::Any
Expr(:inbounds, :pop)::Any
GenSym(94) = Slot(id=36, typ=Int32)
GenSym(95) = Expr(:new, Base.IteratorsMD.CartesianIndex{2}, Expr(:call, top(:tuple), GenSym(69), Expr(:call, Base.box, Int32, Expr(:call, Base.add_int, Expr(:call, top(:getfield), GenSym(65), :start)::Int32, Expr(:call, Base.box, Int32, Expr(:call, Base.mul_int, Expr(:call, Base.box, Int32, Expr(:call, Base.sub_int, GenSym(64), 1)::Any)::Int32, Expr(:call, top(:getfield), GenSym(65), :step)::Int32)::Any)::Int32)::Any)::Int32)::Tuple{Int32, Int32})::Base.IteratorsMD.CartesianIndex{2}
GenSym(96) = GenSym(94)
GenSym(97) = GenSym(95)
# line 475 abstractarray.jl
# line 476 abstractarray.jl
GenSym(88) = GenSym(96)
GenSym(89) = GenSym(97)
# line 362 multidimensional.jl
Slot(id=22, typ=Any) = Expr(:call, Base.arrayref, Expr(:call, top(:getfield), Slot(id=2, typ=Base.SubArray{Int32, 3, Array{Int32, 3}, Tuple{Base.SubArray{Int32, 1, Base.UnitRange{Int32}, Tuple{Array{Int32, 1}}, false}, Base.Colon, Base.StepRange{Int32, Int32}}, false}), :parent)::Array{Int32, 3}, GenSym(88), Expr(:call, Base.getfield, Expr(:call, top(:getfield), GenSym(89), :I)::Tuple{Int32, Int32}, 1)::Int32, Expr(:call, Base.getfield, Expr(:call, top(:getfield), GenSym(89), :I)::Tuple{Int32, Int32}, 2)::Int32)::Int32
Expr(:inbounds, Base.pop)::Any
# line 146 subarray.jl
Expr(:inbounds, :pop)::Any
Expr(:gotoifnot, Expr(:call, Base.box, Base.Bool, Expr(:call, Base.not_int,Expr(:call, Base.===, Slot(id=22, typ=Int32), Expr(:call, Base.arrayref, Slot(id=3, typ=Array{Int32, 3}), Slot(id=7, typ=Int32))::Int32)::Bool)::Any)::Bool, 721)::Any
# line 97 /home/yuyichao/projects/julia/tests/subarray/test/subarray.jl
GenSym(5) = Expr(:call, top(:getfield), Base, :println)::Base.\#println
GenSym(6) = "IA = "
GenSym(7) = Expr(:call, top(:getfield), Base, :repr)::Base.\#repr
# line 166 show.jl
Slot(id=9, typ=Any) = Slot(id=6, typ=Base.IteratorsMD.CartesianIndex{3})
GenSym(8) = Slot(id=6, typ=Base.IteratorsMD.CartesianIndex{3})
Expr(:inbounds, false)::Any
# line 94 strings/io.jl
# line 29 iobuffer.jl
# line 28 iobuffer.jl
GenSym(101) = Expr(:call, Base.getindex, Base.UInt8)::Array{UInt8, 1}
# line 26 iobuffer.jl
Slot(id=41, typ=Any) = Expr(:new, Base.AbstractIOBuffer{Array{UInt8, 1}}, GenSym(101), true, true, true, false, Expr(:call, Base.arraylen, GenSym(101))::Int32, 2147483647, 1, -1)::Base.AbstractIOBuffer{Array{UInt8, 1}}
# line 95 strings/io.jl
Expr(:call, Base.showall, Slot(id=41, typ=Base.AbstractIOBuffer{Array{UInt8, 1}}), GenSym(8))::Void
# line 96 strings/io.jl
Expr(:inbounds, :pop)::Any
GenSym(9) = Expr(:call, Base.takebuf_string, Slot(id=41, typ=Base.AbstractIOBuffer{Array{UInt8, 1}}))::Union{ASCIIString, UTF8String}
Expr(:call, GenSym(5), GenSym(6), GenSym(9))::Any
GenSym(10) = Expr(:call, top(:getfield), Base, :println)::Base.\#println
GenSym(11) = "IB = "
GenSym(12) = Expr(:call, top(:getfield), Base, :repr)::Base.\#repr
# line 166 show.jl
Slot(id=9, typ=Any) = Slot(id=7, typ=Int32)
GenSym(13) = Slot(id=7, typ=Int32)
Expr(:inbounds, false)::Any
# line 94 strings/io.jl
# line 29 iobuffer.jl
# line 28 iobuffer.jl
GenSym(102) = Expr(:call, Base.getindex, Base.UInt8)::Array{UInt8, 1}
# line 26 iobuffer.jl
Slot(id=42, typ=Any) = Expr(:new, Base.AbstractIOBuffer{Array{UInt8, 1}}, GenSym(102), true, true, true, false, Expr(:call, Base.arraylen, GenSym(102))::Int32, 2147483647, 1, -1)::Base.AbstractIOBuffer{Array{UInt8, 1}}
# line 95 strings/io.jl
Expr(:call, Base.showall, Slot(id=42, typ=Base.AbstractIOBuffer{Array{UInt8, 1}}), GenSym(13))::Void
# line 96 strings/io.jl
Expr(:inbounds, :pop)::Any
GenSym(14) = Expr(:call, Base.takebuf_string, Slot(id=42, typ=Base.AbstractIOBuffer{Array{UInt8, 1}}))::Union{ASCIIString, UTF8String}
Expr(:call, GenSym(10), GenSym(11), GenSym(14))::Any
GenSym(15) = Expr(:call, top(:getfield), Base, :println)::Base.\#println
GenSym(16) = "A[IA] = "
GenSym(17) = Expr(:call, top(:getfield), Base, :repr)::Base.\#repr
# line 166 show.jl
# line 475 abstractarray.jl
# line 476 abstractarray.jl
GenSym(156) = Slot(id=6, typ=Base.IteratorsMD.CartesianIndex{3})
# line 362 multidimensional.jl
Expr(:inbounds, false)::Any
GenSym(154) = Expr(:call, Base.getfield, Expr(:call, top(:getfield), GenSym(156), :I)::Tuple{Int32, Int32, Int32}, 1)::Int32
GenSym(155) = Expr(:call, Base.getfield, Expr(:call, top(:getfield), GenSym(156), :I)::Tuple{Int32, Int32, Int32}, 2)::Int32
# line 143 subarray.jl
# line 144 subarray.jl
Expr(:boundscheck, true)::Any
Expr(:inbounds, false)::Any
GenSym(146) = GenSym(154)
GenSym(147) = GenSym(155)
# line 150 abstractarray.jl
GenSym(108) = GenSym(146)
GenSym(107) = GenSym(147)
# line 162 abstractarray.jl
# line 163 abstractarray.jl
# line 53 abstractarray.jl
GenSym(110) = 3
# line 150 int.jl
Expr(:gotoifnot, Expr(:call, Base.sle_int, 1, GenSym(110))::Bool, 428)::Any
Slot(id=45, typ=Int32) = Expr(:call, Base.getfield, Expr(:call, top(:getfield), Slot(id=2, typ=Base.SubArray{Int32, 3, Array{Int32, 3}, Tuple{Base.SubArray{Int32, 1, Base.UnitRange{Int32}, Tuple{Array{Int32, 1}}, false}, Base.Colon, Base.StepRange{Int32, Int32}}, false}), :dims)::Tuple{Int32, Int32, Int32}, 1)::Int32
goto 430
428:
Slot(id=45, typ=Int32) = 1
430:
# line 131 abstractarray.jl
Expr(:gotoifnot, Expr(:call, Base.sle_int, 1, GenSym(108))::Bool, 435)::Any
Slot(id=46, typ=Bool) = Expr(:call, Base.sle_int, GenSym(108), Slot(id=45, typ=Int32))::Bool
goto 437
435:
Slot(id=46, typ=Bool) = false
437:
Expr(:gotoifnot, Slot(id=46, typ=Bool), 467)::Any
# line 122 abstractarray.jl
# line 53 abstractarray.jl
GenSym(112) = 3
# line 150 int.jl
Expr(:gotoifnot, Expr(:call, Base.sle_int, 2, GenSym(112))::Bool, 446)::Any
Slot(id=48, typ=Int32) = Expr(:call, Base.getfield, Expr(:call, top(:getfield), Slot(id=2, typ=Base.SubArray{Int32, 3, Array{Int32, 3}, Tuple{Base.SubArray{Int32, 1, Base.UnitRange{Int32}, Tuple{Array{Int32, 1}}, false}, Base.Colon, Base.StepRange{Int32, Int32}}, false}), :dims)::Tuple{Int32, Int32, Int32}, 2)::Int32
goto 448
446:
Slot(id=48, typ=Int32) = 1
448:
# line 53 abstractarray.jl
GenSym(111) = 3
# line 150 int.jl
Expr(:gotoifnot, Expr(:call, Base.sle_int, 3, GenSym(111))::Bool, 455)::Any
Slot(id=47, typ=Int32) = Expr(:call, Base.getfield, Expr(:call, top(:getfield), Slot(id=2, typ=Base.SubArray{Int32, 3, Array{Int32, 3}, Tuple{Base.SubArray{Int32, 1, Base.UnitRange{Int32}, Tuple{Array{Int32, 1}}, false}, Base.Colon, Base.StepRange{Int32, Int32}}, false}), :dims)::Tuple{Int32, Int32, Int32}, 3)::Int32
goto 457
455:
Slot(id=47, typ=Int32) = 1
457:
#line 131 abstractarray.jl
Expr(:gotoifnot, Expr(:call, Base.sle_int, 1, GenSym(107))::Bool, 462)::Any
Slot(id=49, typ=Bool) = Expr(:call, Base.sle_int, GenSym(107),Expr(:call, Base.box, Int32, Expr(:call, Base.mul_int, Slot(id=48, typ=Int32), Slot(id=47, typ=Int32))::Any)::Int32)::Bool
goto 464
462:
Slot(id=49, typ=Bool) = false
464:
Slot(id=44, typ=Any) = Slot(id=49, typ=Bool)
goto 469
467:
Slot(id=44, typ=Any) = false
469:
GenSym(109) = Slot(id=44, typ=Bool)
Expr(:gotoifnot, GenSym(109), 474)::Any
Slot(id=50, typ=Bool) = GenSym(109)
goto 476
474:
Slot(id=50, typ=Bool) = Expr(:call, Base.throw_boundserror, Slot(id=2, typ=Base.SubArray{Int32, 3, Array{Int32, 3}, Tuple{Base.SubArray{Int32, 1, Base.UnitRange{Int32}, Tuple{Array{Int32, 1}}, false}, Base.Colon, Base.StepRange{Int32, Int32}}, false}), Expr(:call, top(:tuple), GenSym(108), GenSym(107))::Tuple{Int32, Int32})::Union{}
476:
Expr(:inbounds, :pop)::Any
Slot(id=50, typ=Bool)
Expr(:boundscheck, Base.pop)::Any
# line 145 subarray.jl
Expr(:inbounds, true)::Any
GenSym(114) = Expr(:call, top(:getfield), Slot(id=2, typ=Base.SubArray{Int32, 3, Array{Int32, 3}, Tuple{Base.SubArray{Int32, 1, Base.UnitRange{Int32}, Tuple{Array{Int32, 1}}, false}, Base.Colon, Base.StepRange{Int32, Int32}}, false}), :indexes)::Tuple{Base.SubArray{Int32, 1, Base.UnitRange{Int32}, Tuple{Array{Int32, 1}}, false}, Base.Colon, Base.StepRange{Int32, Int32}}
GenSym(148) = GenSym(154)
GenSym(149) = GenSym(155)
# line 130 subarray.jl
Expr(:inbounds, false)::Any
GenSym(130) = Expr(:call, Base.getfield, GenSym(114), 1)::Base.SubArray{Int32, 1, Base.UnitRange{Int32}, Tuple{Array{Int32, 1}}, false}
GenSym(139) = GenSym(148)
# line 143 subarray.jl
# line 144 subarray.jl
Expr(:boundscheck, true)::Any
Expr(:inbounds, false)::Any
# line 150 abstractarray.jl
GenSym(132) = GenSym(139)
# line 155 abstractarray.jl
# line 131 abstractarray.jl
Expr(:gotoifnot, Expr(:call, Base.sle_int, 1, GenSym(132))::Bool, 500)::Any
Slot(id=58, typ=Bool) = Expr(:call, Base.sle_int, GenSym(132), Expr(:call, top(:getfield), Expr(:call, top(:getfield), GenSym(130), :dims)::Tuple{Int32}, 1)::Int32)::Bool
goto 502
500:
Slot(id=58, typ=Bool) = false
502:
GenSym(133) = Slot(id=58, typ=Bool)
Expr(:gotoifnot, GenSym(133), 507)::Any
Slot(id=59, typ=Bool) = GenSym(133)
goto 509
507:
Slot(id=59, typ=Bool) = Expr(:call, Base.throw_boundserror, GenSym(130), GenSym(132))::Union{}
509:
Expr(:inbounds, :pop)::Any
Slot(id=59, typ=Bool)
Expr(:boundscheck, Base.pop)::Any
# line 145 subarray.jl
Expr(:inbounds, true)::Any
GenSym(138) = Expr(:call, Base.arrayref, Expr(:call, Base.getfield, Expr(:call, top(:getfield), GenSym(130), :indexes)::Tuple{Array{Int32, 1}}, 1)::Array{Int32, 1}, GenSym(139))::Int32
Expr(:inbounds, false)::Any
GenSym(135) = Expr(:call, top(:getfield), GenSym(130), :parent)::Base.UnitRange{Int32}
GenSym(134) = GenSym(138)
# line 422 range.jl
# line 423 range.jl
Expr(:boundscheck, true)::Any
Expr(:inbounds, false)::Any
# line 150 abstractarray.jl
GenSym(136) = GenSym(134)
# line 155 abstractarray.jl
# line 131 abstractarray.jl
Expr(:gotoifnot, Expr(:call, Base.sle_int, 1, GenSym(136))::Bool, 530)::Any
Slot(id=60, typ=Bool) = Expr(:call, Base.sle_int, GenSym(136), Expr(:call, Base.Checked.box, Int32, Expr(:call, Base.Checked.checked_sadd_int, Expr(:call, Base.Checked.box, Int32, Expr(:call, Base.Checked.checked_ssub_int, Expr(:call, top(:getfield), GenSym(135), :stop)::Int32, Expr(:call,top(:getfield), GenSym(135), :start)::Int32)::Any)::Int32, 1)::Any)::Int32)::Bool
goto 532
530:
Slot(id=60, typ=Bool) = false
532:
GenSym(137) = Slot(id=60, typ=Bool)
Expr(:gotoifnot, GenSym(137), 537)::Any
Slot(id=61, typ=Bool) = GenSym(137)
goto 539
537:
Slot(id=61, typ=Bool) = Expr(:call, Base.throw_boundserror, GenSym(135), GenSym(136))::Union{}
539:
Expr(:inbounds, :pop)::Any
Slot(id=61, typ=Bool)
Expr(:boundscheck, Base.pop)::Any
# line 424 range.jl
Expr(:inbounds, :pop)::Any
Slot(id=57, typ=Any) = Expr(:call, Base.box, Int32, Expr(:call, Base.add_int, Expr(:call, top(:getfield), GenSym(135), :start)::Int32, Expr(:call, Base.box, Int32,Expr(:call, Base.mul_int, Expr(:call, Base.box, Int32, Expr(:call, Base.sub_int, GenSym(134), 1)::Any)::Int32, 1)::Any)::Int32)::Any)::Int32
Expr(:inbounds, Base.pop)::Any
# line 146 subarray.jl
Expr(:inbounds, :pop)::Any
GenSym(140) = Expr(:call, top(:getfield), GenSym(114), 2)::Base.Colon
GenSym(141) = Expr(:call, top(:getfield), GenSym(114), 3)::Base.StepRange{Int32, Int32}
# line 125 subarray.jl
Expr(:inbounds, false)::Any
# line 478 multidimensional.jl
Expr(:inbounds, false)::Any
GenSym(117) = Expr(:call, Base.nfields, Expr(:call, top(:getfield), Slot(id=2, typ=Base.SubArray{Int32, 3, Array{Int32, 3}, Tuple{Base.SubArray{Int32, 1, Base.UnitRange{Int32}, Tuple{Array{Int32, 1}}, false}, Base.Colon, Base.StepRange{Int32, Int32}}, false}), :indexes)::Tuple{Base.SubArray{Int32, 1, Base.UnitRange{Int32}, Tuple{Array{Int32, 1}}, false}, Base.Colon, Base.StepRange{Int32, Int32}})::Int32
GenSym(116) = 2
# line 31 int.jl
Expr(:inbounds, :pop)::Any
Expr(:inbounds, false)::Any
GenSym(127) = Expr(:call, Base.arraysize, Expr(:call, top(:getfield), Slot(id=2, typ=Base.SubArray{Int32, 3, Array{Int32, 3}, Tuple{Base.SubArray{Int32, 1, Base.UnitRange{Int32}, Tuple{Array{Int32, 1}}, false}, Base.Colon, Base.StepRange{Int32, Int32}}, false}), :parent)::Array{Int32, 3}, Expr(:call, Base.box, Int32, Expr(:call, Base.add_int, Expr(:call, Base.box, Int32, Expr(:call, Base.sub_int, GenSym(117), GenSym(116))::Any)::Int32, 1)::Any)::Int32)::Int32
GenSym(128) = Expr(:call, Base.length, GenSym(141))::Int32
# line 480 multidimensional.jl
Expr(:inbounds, false)::Any
Slot(id=51, typ=Int32) = GenSym(149)
# line 1014 abstractarray.jl
Slot(id=51, typ=Int32) = Expr(:call, Base.box, Int32, Expr(:call, Base.sub_int, Slot(id=51, typ=Int32), 1)::Any)::Int32
Slot(id=52, typ=Any) = Expr(:call, Base.box, Int32, Expr(:call, Base.checked_sdiv_int, Slot(id=51, typ=Int32), GenSym(127))::Any)::Int32
Slot(id=53, typ=Any) = Expr(:call, Base.box, Int32, Expr(:call, Base.add_int, Expr(:call, Base.box, Int32, Expr(:call, Base.sub_int, Slot(id=51, typ=Int32), Expr(:call, Base.box, Int32, Expr(:call, Base.mul_int, GenSym(127), Slot(id=52, typ=Int32))::Any)::Int32)::Any)::Int32, 1)::Any)::Int32
Slot(id=51, typ=Int32) = Slot(id=52, typ=Int32)
Slot(id=54, typ=Any) = Expr(:call, Base.box, Int32, Expr(:call, Base.add_int, Slot(id=51, typ=Int32), 1)::Any)::Int32
Expr(:inbounds, :pop)::Any
Expr(:inbounds, false)::Any
GenSym(125) = Slot(id=53, typ=Int32)
GenSym(126) = Slot(id=54, typ=Int32)
# line 472 multidimensional.jl
Expr(:inbounds, false)::Any
# line 472 multidimensional.jl
Expr(:inbounds, false)::Any
GenSym(121) = GenSym(141)
GenSym(120) = GenSym(126)
# line 422 range.jl
# line 423 range.jl
Expr(:boundscheck, true)::Any
Expr(:inbounds, false)::Any
# line 150 abstractarray.jl
GenSym(122) = GenSym(120)
# line 155 abstractarray.jl
GenSym(124) = Expr(:call, Base.length, GenSym(121))::Int32
# line 131 abstractarray.jl
Expr(:gotoifnot, Expr(:call, Base.sle_int, 1,GenSym(122))::Bool, 593)::Any
Slot(id=55, typ=Bool) = Expr(:call, Base.sle_int, GenSym(122), GenSym(124))::Bool
goto 595
593:
Slot(id=55, typ=Bool) = false
595:,GenSym(123) = Slot(id=55, typ=Bool)
Expr(:gotoifnot, GenSym(123), 600)::Any
Slot(id=56, typ=Bool) = GenSym(123)
goto 602
600:
Slot(id=56, typ=Bool) = Expr(:call,Base.throw_boundserror, GenSym(121), GenSym(122))::Union{}
602:
Expr(:inbounds, :pop)::Any
Slot(id=56, typ=Bool)
Expr(:boundscheck, Base.pop)::Any
# line 424 range.jl
Expr(:inbounds, :pop)::Any
Expr(:inbounds, :pop)::Any
Expr(:inbounds, :pop)::Any
Expr(:inbounds, :pop)::Any
Expr(:inbounds, :pop)::Any
GenSym(150) = Slot(id=57, typ=Int32)
GenSym(151) = Expr(:new, Base.IteratorsMD.CartesianIndex{2}, Expr(:call, top(:tuple), GenSym(125), Expr(:call, Base.box, Int32, Expr(:call, Base.add_int, Expr(:call, top(:getfield), GenSym(121), :start)::Int32, Expr(:call, Base.box, Int32, Expr(:call, Base.mul_int, Expr(:call, Base.box, Int32, Expr(:call, Base.sub_int, GenSym(120), 1)::Any)::Int32, Expr(:call, top(:getfield), GenSym(121), :step)::Int32)::Any)::Int32)::Any)::Int32)::Tuple{Int32, Int32})::Base.IteratorsMD.CartesianIndex{2}
GenSym(152) = GenSym(150)
GenSym(153) = GenSym(151)
# line 475 abstractarray.jl
# line 476 abstractarray.jl
GenSym(144) = GenSym(152)
GenSym(145) = GenSym(153)
# line 362 multidimensional.jl
Slot(id=43, typ=Any) = Expr(:call, Base.arrayref, Expr(:call, top(:getfield), Slot(id=2, typ=Base.SubArray{Int32, 3, Array{Int32, 3}, Tuple{Base.SubArray{Int32, 1, Base.UnitRange{Int32}, Tuple{Array{Int32, 1}}, false}, Base.Colon, Base.StepRange{Int32, Int32}}, false}), :parent)::Array{Int32, 3}, GenSym(144), Expr(:call, Base.getfield, Expr(:call, top(:getfield), GenSym(145), :I)::Tuple{Int32, Int32}, 1)::Int32, Expr(:call, Base.getfield, Expr(:call, top(:getfield), GenSym(145), :I)::Tuple{Int32, Int32}, 2)::Int32)::Int32
Expr(:inbounds, Base.pop)::Any
# line 146 subarray.jl
Expr(:inbounds, :pop)::Any
GenSym(18) = Slot(id=43, typ=Int32)
Slot(id=9, typ=Any) = GenSym(18)
Expr(:inbounds, false)::Any
# line 94 strings/io.jl
# line 29 iobuffer.jl
# line 28 iobuffer.jl
GenSym(157) = Expr(:call, Base.getindex, Base.UInt8)::Array{UInt8, 1}
# line 26 iobuffer.jl
Slot(id=62, typ=Any) = Expr(:new, Base.AbstractIOBuffer{Array{UInt8, 1}}, GenSym(157), true, true, true, false, Expr(:call, Base.arraylen, GenSym(157))::Int32, 2147483647, 1, -1)::Base.AbstractIOBuffer{Array{UInt8, 1}}
# line 95 strings/io.jl
Expr(:call, Base.showall, Slot(id=62, typ=Base.AbstractIOBuffer{Array{UInt8, 1}}), GenSym(18))::Void
# line 96 strings/io.jl
Expr(:inbounds, :pop)::Any
GenSym(19) = Expr(:call, Base.takebuf_string, Slot(id=62, typ=Base.AbstractIOBuffer{Array{UInt8, 1}}))::Union{ASCIIString, UTF8String}
Expr(:call, GenSym(15), GenSym(16), GenSym(19))::Any
GenSym(20) = Expr(:call, top(:getfield), Base, :println)::Base.\#println
GenSym(21) = "B[IB] = "
GenSym(22) = Expr(:call, top(:getfield), Base, :repr)::Base.\#repr
# line 166 show.jl
GenSym(23) = Expr(:call, Base.arrayref, Slot(id=3, typ=Array{Int32, 3}), Slot(id=7, typ=Int32))::Int32
Slot(id=9, typ=Any) = GenSym(23)
Expr(:inbounds, false)::Any
# line 94 strings/io.jl
# line 29 iobuffer.jl
# line 28 iobuffer.jl
GenSym(158) = Expr(:call, Base.getindex, Base.UInt8)::Array{UInt8, 1}
# line 26 iobuffer.jl
Slot(id=63, typ=Any) = Expr(:new, Base.AbstractIOBuffer{Array{UInt8, 1}}, GenSym(158), true, true, true, false, Expr(:call, Base.arraylen, GenSym(158))::Int32, 2147483647, 1, -1)::Base.AbstractIOBuffer{Array{UInt8, 1}}
# line 95 strings/io.jl
Expr(:call, Base.showall, Slot(id=63, typ=Base.AbstractIOBuffer{Array{UInt8, 1}}), GenSym(23))::Void
# line 96 strings/io.jl
Expr(:inbounds, :pop)::Any
GenSym(24) = Expr(:call, Base.takebuf_string, Slot(id=63, typ=Base.AbstractIOBuffer{Array{UInt8, 1}}))::Union{ASCIIString, UTF8String}
Expr(:call, GenSym(20), GenSym(21), GenSym(24))::Any
Slot(id=9, typ=Int32)
# line 98 /home/yuyichao/projects/julia/tests/subarray/test/subarray.jl
Slot(id=4, typ=Any) = false
# line 99 /home/yuyichao/projects/julia/tests/subarray/test/subarray.jl
GenSym(25) = Expr(:call,top(:getfield), Base, :println)::Base.\#println
GenSym(26) = "A = "
GenSym(27) = Expr(:call, top(:getfield), Base, :repr)::Base.\#repr
# line 166 show.jl
GenSym(29)= Expr(:call, GenSym(27), Slot(id=2, typ=Base.SubArray{Int32, 3, Array{Int32, 3}, Tuple{Base.SubArray{Int32, 1, Base.UnitRange{Int32}, Tuple{Array{Int32, 1}}, false},Base.Colon, Base.StepRange{Int32, Int32}}, false}))::Union{ASCIIString, UTF8String}
Expr(:call, GenSym(25), GenSym(26), GenSym(29))::Any
Slot(id=2, typ=Base.SubArray{Int32, 3, Array{Int32, 3}, Tuple{Base.SubArray{Int32, 1, Base.UnitRange{Int32}, Tuple{Array{Int32, 1}}, false}, Base.Colon, Base.StepRange{Int32, Int32}}, false})
#line 100 /home/yuyichao/projects/julia/tests/subarray/test/subarray.jl
GenSym(30) = Expr(:call, top(:getfield), Base, :println)::Base.\#println
GenSym(31) = "B = "
GenSym(32) = Expr(:call, top(:getfield), Base, :repr)::Base.\#repr
# line 166 show.jl
Expr(:inbounds, false)::Any
# line 94 strings/io.jl
# line 29 iobuffer.jl
# line 28 iobuffer.jl
GenSym(159) = Expr(:call, Base.getindex, Base.UInt8)::Array{UInt8, 1}
# line 26 iobuffer.jl
Slot(id=64, typ=Any) = Expr(:new, Base.AbstractIOBuffer{Array{UInt8, 1}}, GenSym(159), true, true, true, false, Expr(:call, Base.arraylen, GenSym(159))::Int32, 2147483647, 1, -1)::Base.AbstractIOBuffer{Array{UInt8, 1}}
# line 95 strings/io.jl
Expr(:call, Base.showall, Slot(id=64, typ=Base.AbstractIOBuffer{Array{UInt8, 1}}), Slot(id=3, typ=Array{Int32, 3}))::Any
# line 96 strings/io.jl
Expr(:inbounds, :pop)::Any
GenSym(34) = Expr(:call, Base.takebuf_string, Slot(id=64, typ=Base.AbstractIOBuffer{Array{UInt8, 1}}))::Union{ASCIIString, UTF8String}
Expr(:call, GenSym(30), GenSym(31), GenSym(34))::Any
Slot(id=3, typ=Array{Int32, 3})
# line 101 /home/yuyichao/projects/julia/tests/subarray/test/subarray.jl
Expr(:inbounds, false)::Any
# DONE!!!
GenSym(173) = Expr(:call, top(:ccall), :jl_getpid, Base.Libc.Int32, Expr(:call, top(:svec))::SimpleVector)::Int32
# line 73 strings/io.jl
GenSym(162) = "Test failed! Pid: "
GenSym(163) = GenSym(173)
Expr(:line, 53, :strings/io.jl, :)::Any
Expr(:inbounds, :pop)::Any
Expr(:call, Main.println, Expr(:call,Base.\#print_to_string\#98, Base.nothing, Base.print_to_string, GenSym(162), GenSym(163))::Union{ASCIIString, UTF8String})::Any
# line 102 /home/yuyichao/projects/julia/tests/subarray/test/subarray.jl
Expr(:inbounds, false)::Any
GenSym(164) = Expr(:call, Expr(:call, top(:getfield), Base, :cmd_gen)::Base.\#cmd_gen, Expr(:call, top(:tuple), Expr(:call, top(:tuple), "report_fail")::Tuple{ASCIIString}, Expr(:call, top(:tuple), "Subarray test")::Tuple{ASCIIString}, Expr(:call, top(:tuple), "test_cartesian")::Tuple{ASCIIString}, Expr(:call, top(:tuple), Expr(:call, Base.\#print_to_string\#98, Base.nothing, Base.print_to_string, Slot(id=2, typ=Base.SubArray{Int32, 3, Array{Int32, 3}, Tuple{Base.SubArray{Int32, 1, Base.UnitRange{Int32}, Tuple{Array{Int32, 1}}, false}, Base.Colon, Base.StepRange{Int32, Int32}}, false}))::Union{ASCIIString, UTF8String}, " ", Expr(:call, Base.\#print_to_string\#98, Base.nothing, Base.print_to_string, Slot(id=3, typ=Array{Int32, 3}))::Union{ASCIIString, UTF8String})::Tuple{Union{ASCIIString, UTF8String}, ASCIIString, Union{ASCIIString, UTF8String}})::Tuple{Tuple{ASCIIString}, Tuple{ASCIIString}, Tuple{ASCIIString}, Tuple{Union{ASCIIString, UTF8String}, ASCIIString, Union{ASCIIString, UTF8String}}})::Base.Cmd
# line 598 process.jl
Slot(id=65, typ=Any) = Expr(:call, Base.\#spawn\#163, Expr(:new, Base.Nullable{Base.ProcessChain}, true)::Base.Nullable{Base.ProcessChain}, Base.spawn, GenSym(164), Expr(:call, Base.tuple, Expr(:new, Expr(:call, top(:getfield), Base.Libc, :RawFD)::Type{Base.Libc.RawFD}, 0)::Base.Libc.RawFD, Expr(:new, Expr(:call, top(:getfield), Base.Libc, :RawFD)::Type{Base.Libc.RawFD}, 1)::Base.Libc.RawFD, Expr(:new, Expr(:call, top(:getfield), Base.Libc, :RawFD)::Type{Base.Libc.RawFD}, 2)::Base.Libc.RawFD)::Tuple{Base.Libc.RawFD, Base.Libc.RawFD, Base.Libc.RawFD}, false, false)::Any
# line 599 process.jl
Expr(:gotoifnot, Expr(:call, Base.success, Slot(id=65, typ=Any))::Any, 707)::Any
Slot(id=66, typ=Void) = Base.nothing
goto 709
707:
Slot(id=66, typ=Void) = Expr(:call, Base.pipeline_error, Slot(id=65, typ=Any))::Void
709:
Expr(:inbounds, :pop)::Any
Slot(id=66, typ=Void)
# line 103 /home/yuyichao/projects/julia/tests/subarray/test/subarray.jl
713:
Expr(:gotoifnot, true, 720)::Any
# line 104 /home/yuyichao/projects/julia/tests/subarray/test/subarray.jl
GenSym(35) = Expr(:call, Base.box, UInt32, Expr(:call, Base.check_top_bit, 100)::Any)::UInt32
Expr(:call, top(:ccall), :sleep, Main.Cuint, Expr(:call, top(:svec), Main.Cuint)::SimpleVector, GenSym(35), 0)::UInt32
718:
goto 713
720:
721:
722:
goto 44
724:
725:
Expr(:return, nothing)::Any
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment