   0  getfield_gc_i_pure %r0, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.inst_order> -> %i1
   5  -live- %i0, %i1, %r0, %r1, %r2
   8  switch %i0, <SwitchDictDescr 0:L1, 1:L2>
  12  L3:
  12  getfield_gc_i_pure %r0, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.inst_size> -> %i0
  17  -live- %i0, %i1, %r0, %r1, %r2
  20  goto_if_not_int_is_zero %i0, L4
  24  -live- %i1, %r0, %r1, %r2
  27  record_quasiimmut_field %r0, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.inst_dtype>, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.mutate_dtype>
  33  getfield_gc_r_pure %r0, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.inst_dtype> -> %r3
  38  inline_call_ir_r <JitCode 'calc_strides'>, I[%i1], R[%r2, %r3] -> %r3
  47  -live- %r0, %r1, %r2, %r3
  50  getfield_gc_r_pure %r3, FieldDescr<tuple2.item0> -> %r5
  55  L5:
  55  -live- %r0, %r1, %r2, %r5
  58  goto_if_not_ptr_iszero %r5, L6
  62  ref_return $<* struct pypy.module.micronumpy.concrete.SliceArray>
  64  ---
  64  L6:
  64  inline_call_r_r <JitCode 'calc_backstrides'>, R[%r5, %r2] -> %r4
  71  -live- %r0, %r1, %r2, %r4, %r5
  74  goto_if_not_ptr_nonzero %r1, L7
  78  ref_copy %r1 -> %r3
  81  -live- %r0, %r1, %r2, %r3, %r4, %r5
  84  guard_class %r3 -> %i0
  87  getfield_raw_i %i0, FieldDescr<object_vtable.subclassrange_min> -> %i0
  92  int_between $TotalOrderSymbolic('compute_fn'), %i0, $TotalOrderSymbolic('compute_fn') -> %i0
  97  -live- %i0, %r0, %r1, %r2, %r4, %r5
 100  goto_if_not %i0, L8
 104  L9:
 104  getfield_gc_i_pure %r0, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.inst_start> -> %i0
 109  new_with_vtable <rpython.jit.backend.llsupport.descr.SizeDescr object at 0x0000563a7841ad78> -> %r3
 113  setfield_gc_i %r3, $0, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.inst_flags>
 118  setfield_gc_i %r3, $0, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.inst_start>
 123  inline_call_ir_v <JitCode 'SliceArray.__init__'>, I[%i0], R[%r3, %r5, %r4, %r2, %r0, %r1, $<* struct pypy.module.micronumpy.descriptor.W_Dtype>]
 136  -live- %r3
 139  ref_return %r3
 141  ---
 141  L8:
 141  goto L9
 144  ---
 144  L7:
 144  goto L9
 147  ---
 147  L4:
 147  -live- %i1, %r0, %r1, %r2
 150  guard_class %r0 -> %i0
 153  getfield_raw_i %i0, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray_vtable.cls_get_shape> -> %i0
 158  -live- %i0, %i1, %r0, %r1, %r2
 161  switch %i0, <SwitchDictDescr 0:L10, 1:L11>
 165  unreachable
 166  ---
 166  L10:
 166  -live- %i1, %r0, %r1, %r2
 169  getfield_gc_r_pure %r0, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.inst_shape> -> %r3
 174  L12:
 174  arraylen_gc %r3, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x0000563a77308b10> -> %i0
 179  -live- %i0, %i1, %r0, %r1, %r2
 182  goto_if_not_int_is_zero %i0, L13
 186  -live- %r0, %r1, %r2
 189  record_quasiimmut_field %r0, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.inst_dtype>, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.mutate_dtype>
 195  getfield_gc_r_pure %r0, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.inst_dtype> -> %r3
 200  -live- %r0, %r1, %r2, %r3
 203  record_quasiimmut_field %r3, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.inst_elsize>, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.mutate_elsize>
 209  getfield_gc_i_pure %r3, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.inst_elsize> -> %i0
 214  arraylen_gc %r2, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x0000563a77308b10> -> %i1
 219  inline_call_ir_r <JitCode 'll_alloc_and_set__GcArray_SignedLlT_Signed_Signed'>, I[%i1, %i0], R[] -> %r5
 227  -live- %r0, %r1, %r2, %r5
 230  goto L5
 233  ---
 233  L13:
 233  -live- %i1, %r0, %r1, %r2
 236  guard_class %r0 -> %i0
 239  getfield_raw_i %i0, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray_vtable.cls_get_shape> -> %i0
 244  -live- %i0, %i1, %r0, %r1, %r2
 247  switch %i0, <SwitchDictDescr 0:L14, 1:L15>
 251  unreachable
 252  ---
 252  L14:
 252  -live- %i1, %r0, %r1, %r2
 255  getfield_gc_r_pure %r0, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.inst_shape> -> %r4
 260  L16:
 260  getfield_gc_r_pure %r0, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.inst_strides> -> %r3
 265  arraylen_gc %r3, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x0000563a77308b10> -> %i0
 270  -live- %i0, %i1, %r0, %r1, %r2, %r3, %r4
 273  int_guard_value %i0
 275  residual_call_ir_r $<* fn calc_new_strides>, I[%i1], R[%r2, %r4, %r3], <CallDescr(rrri) EF=5> -> %r5
 286  -live- %r0, %r1, %r2, %r5
 289  goto_if_not_ptr_iszero %r5, L17
 293  ref_return $<* struct pypy.module.micronumpy.concrete.SliceArray>
 295  ---
 295  L17:
 295  arraylen_gc %r5, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x0000563a77308b10> -> %i0
 300  arraylen_gc %r2, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x0000563a77308b10> -> %i1
 305  -live- %i0, %i1, %r0, %r1, %r2, %r5
 308  goto_if_not_int_ne %i0, %i1, L18
 313  ref_return $<* struct pypy.module.micronumpy.concrete.SliceArray>
 315  ---
 315  L18:
 315  goto L5
 318  ---
 318  L15:
 318  -live- %i1, %r0, %r1, %r2
 321  getfield_gc_r_pure %r0, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.inst_shape> -> %r4
 326  arraylen_gc %r4, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x0000563a77308b10> -> %i0
 331  -live- %i0, %i1, %r0, %r1, %r2, %r4
 334  int_guard_value %i0
 336  goto L16
 339  ---
 339  L11:
 339  -live- %i1, %r0, %r1, %r2
 342  getfield_gc_r_pure %r0, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.inst_shape> -> %r3
 347  arraylen_gc %r3, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x0000563a77308b10> -> %i0
 352  -live- %i0, %i1, %r0, %r1, %r2, %r3
 355  int_guard_value %i0
 357  goto L12
 360  ---
 360  L1:
 360  -live- %r0, %r1, %r2
 363  int_copy $0 -> %i1
 366  goto L3
 369  ---
 369  L2:
 369  -live- %r0, %r1, %r2
 372  int_copy $1 -> %i1
 375  goto L3
