   0  getfield_gc_r %r0, FieldDescr<pypy.module.micronumpy.base.W_NDimArray.inst_implementation> -> %r2
   5  -live- %r0, %r2
   5  record_quasiimmut_field %r2, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.inst_dtype>, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.mutate_dtype>
  11  getfield_gc_r_pure %r2, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.inst_dtype> -> %r1
  16  -live- %r0, %r1, %r2
  16  guard_class %r2 -> %i0
  19  getfield_raw_i %i0, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray_vtable.cls_create_iter> -> %i0
  24  -live- %i0, %r0, %r1, %r2
  24  switch %i0, <SwitchDictDescr 0:L1, 1:L2>
  28  unreachable
  29  ---
  29  L1:
  29  -live- %r0, %r1, %r2
  29  inline_call_ir_r <JitCode 'BaseConcreteArray.create_iter'>, I[$False], R[%r2, $<* None>] -> %r2
  38  -live- %r0, %r1, %r2
  38  L3:
  38  getfield_gc_r_pure %r2, FieldDescr<tuple2.item0> -> %r6
  43  getfield_gc_r_pure %r2, FieldDescr<tuple2.item1> -> %r2
  48  -live- %r0, %r1, %r2, %r6
  48  guard_class %r6 -> %i0
  51  getfield_raw_i %i0, FieldDescr<pypy.module.micronumpy.iterators.ArrayIter_vtable.cls_getitem> -> %i0
  56  -live- %i0, %r0, %r1, %r2, %r6
  56  switch %i0, <SwitchDictDescr 0:L4, 1:L5>
  60  unreachable
  61  ---
  61  L4:
  61  -live- %r0, %r1, %r2, %r6
  61  getfield_gc_r_pure %r6, FieldDescr<pypy.module.micronumpy.iterators.ArrayIter.inst_array> -> %r3
  66  getfield_gc_i %r2, FieldDescr<pypy.module.micronumpy.iterators.IterState.inst_offset> -> %i0
  71  -live- %i0, %r0, %r1, %r2, %r3, %r6
  71  record_quasiimmut_field %r3, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.inst_dtype>, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.mutate_dtype>
  77  getfield_gc_r_pure %r3, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.inst_dtype> -> %r4
  82  -live- %i0, %r0, %r1, %r2, %r3, %r4, %r6
  82  record_quasiimmut_field %r4, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.inst_itemtype>, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.mutate_itemtype>
  88  getfield_gc_r_pure %r4, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.inst_itemtype> -> %r5
  93  -live- %i0, %r0, %r1, %r2, %r3, %r4, %r5, %r6
  93  guard_class %r5 -> %i1
  96  getfield_raw_i %i1, FieldDescr<pypy.module.micronumpy.types.BaseType_vtable.cls_read> -> %i1
 101  -live- %i0, %i1, %r0, %r1, %r2, %r3, %r4, %r5, %r6
 101  int_guard_value %i1
 103  residual_call_ir_r %i1, <IndirectCallTargets>, I[%i0, $0], R[%r5, %r3, %r4], <CallDescr(rriir) EF=5> -> %r3
 115  -live- %r0, %r1, %r2, %r3, %r6
 115  inline_call_ir_r <JitCode 'ArrayIter.next'>, I[$False], R[%r6, %r2] -> %r2
 124  -live- %r0, %r1, %r2, %r3, %r6
 124  getfield_gc_r %r0, FieldDescr<pypy.module.micronumpy.base.W_NDimArray.inst_implementation> -> %r0
 129  -live- %r0, %r1, %r2, %r3, %r6
 129  guard_class %r0 -> %i0
 132  getfield_raw_i %i0, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray_vtable.cls_get_shape> -> %i0
 137  -live- %i0, %r0, %r1, %r2, %r3, %r6
 137  switch %i0, <SwitchDictDescr 0:L6, 1:L7>
 141  unreachable
 142  ---
 142  L6:
 142  -live- %r0, %r1, %r2, %r3, %r6
 142  getfield_gc_r_pure %r0, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.inst_shape> -> %r0
 147  L8:
 147  arraylen_gc %r0, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x7fff4a8e3370> -> %i2
 152  int_copy $0 -> %i0
 155  int_copy $1 -> %i1
 158  getfield_gc_i %r2, FieldDescr<pypy.module.micronumpy.iterators.IterState.inst_index> -> %i3
 163  getfield_gc_i_pure %r6, FieldDescr<pypy.module.micronumpy.iterators.ArrayIter.inst_size> -> %i4
 168  -live- %i0, %i1, %i2, %i3, %i4, %r1, %r2, %r3, %r6
 168  goto_if_not_int_ge %i3, %i4, L9
 173  int_return %i0
 175  ---
 175  L9:
 175  -live- %i0, %i1, %i2, %r1, %r2, %r3, %r6
 175  int_guard_value %i2
 177  -live- %i0, %i1, %i2, %r1, %r2, %r3, %r6
 177  ref_guard_value %r1
 179  recursive_call_i $30, I[%i2], R[%r1], F[], I[%i0, %i1], R[%r3, %r2, %r6], F[] -> %i0
 195  -live- %i0
 195  int_return %i0
 197  ---
 197  L7:
 197  -live- %r0, %r1, %r2, %r3, %r6
 197  getfield_gc_r_pure %r0, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.inst_shape> -> %r0
 202  arraylen_gc %r0, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x7fff4a8e3370> -> %i0
 207  -live- %i0, %r0, %r1, %r2, %r3, %r6
 207  int_guard_value %i0
 209  goto L8
 212  ---
 212  L5:
 212  -live-
 212  raise $<* struct object>
 214  ---
 214  L2:
 214  -live- %r0, %r1, %r2
 214  inline_call_ir_r <JitCode 'FakeArrayImplementation.create_iter'>, I[$False], R[%r2, $<* None>] -> %r2
 223  -live- %r0, %r1, %r2
 223  goto L3
