   0  getfield_gc_r %r0, FieldDescr<pypy.module.micronumpy.base.W_NDimArray.inst_implementation> -> %r2
   5  -live- %r0, %r1, %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> -> %r2
  16  -live- %r0, %r1, %r2
  16  record_quasiimmut_field %r2, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.inst_fields>, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.mutate_fields>
  22  getfield_gc_r_pure %r2, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.inst_fields> -> %r2
  27  -live- %r0, %r1, %r2
  27  goto_if_not_ptr_nonzero %r1, L1
  31  strhash %r1 -> %i0
  34  conditional_call_value_ir_i %i0, $<* fn _ll_strhash__rpy_stringPtr>, I[], R[%r1], <CallDescr(r) EF=2> -> %i0
  43  L2:
  43  ref_isvirtual %r2 -> %i1
  46  -live- %i0, %i1, %r0, %r1, %r2
  46  goto_if_not %i1, L3
  50  inline_call_ir_i <JitCode 'll_call_lookup_function__v1569___simple_call__function_'>, I[%i0, $0], R[%r2, %r1] -> %i0
  60  -live- %i0, %r0, %r1
  60  L4:
  60  -live- %i0, %r0, %r1
  60  goto_if_not_int_ge %i0, $0, L5
  65  getfield_gc_r %r0, FieldDescr<pypy.module.micronumpy.base.W_NDimArray.inst_implementation> -> %r3
  70  -live- %r0, %r1, %r3
  70  record_quasiimmut_field %r3, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.inst_dtype>, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.mutate_dtype>
  76  getfield_gc_r_pure %r3, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.inst_dtype> -> %r2
  81  -live- %r0, %r1, %r2, %r3
  81  record_quasiimmut_field %r2, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.inst_fields>, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.mutate_fields>
  87  getfield_gc_r_pure %r2, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.inst_fields> -> %r2
  92  -live- %r0, %r1, %r2, %r3
  92  goto_if_not_ptr_nonzero %r1, L6
  96  strhash %r1 -> %i0
  99  conditional_call_value_ir_i %i0, $<* fn _ll_strhash__rpy_stringPtr>, I[], R[%r1], <CallDescr(r) EF=2> -> %i0
 108  L7:
 108  ref_isvirtual %r2 -> %i1
 111  -live- %i0, %i1, %r0, %r1, %r2, %r3
 111  goto_if_not %i1, L8
 115  inline_call_ir_i <JitCode 'll_call_lookup_function__v1569___simple_call__function_'>, I[%i0, $0], R[%r2, %r1] -> %i0
 125  -live- %i0, %r0, %r2, %r3
 125  L9:
 125  -live- %i0, %r0, %r2, %r3
 125  goto_if_not_int_ge %i0, $0, L10
 130  getfield_gc_r %r2, FieldDescr<dicttable.entries> -> %r2
 135  getinteriorfield_gc_r %r2, %i0, <rpython.jit.backend.llsupport.descr.InteriorFieldDescr object at 0x000002aa70dd16a8> -> %r2
 141  getfield_gc_i_pure %r2, FieldDescr<tuple2.item0> -> %i1
 146  getfield_gc_r_pure %r2, FieldDescr<tuple2.item1> -> %r1
 151  -live- %i1, %r0, %r1, %r3
 151  record_quasiimmut_field %r1, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.inst_itemtype>, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.mutate_itemtype>
 157  getfield_gc_r_pure %r1, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.inst_itemtype> -> %r2
 162  -live- %i1, %r0, %r1, %r2, %r3
 162  guard_class %r2 -> %i0
 165  getfield_raw_i %i0, FieldDescr<pypy.module.micronumpy.types.BaseType_vtable.cls_num> -> %i0
 170  -live- %i0, %i1, %r0, %r1, %r3
 170  goto_if_not_int_eq %i0, $17, L11
 175  getfield_gc_r_pure %r3, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.inst_gcstruct> -> %r2
 180  -live- %i1, %r0, %r1, %r2, %r3
 180  goto_if_not_ptr_iszero %r2, L12
 184  new_with_vtable <rpython.jit.backend.llsupport.descr.SizeDescr object at 0x000002aabbb1b8a0> -> %r2
 188  setfield_gc_r %r2, $<* struct rpy_string>, FieldDescr<pypy.interpreter.error.OpErrFmtNoArgs.inst__value>
 193  setfield_gc_r %r2, $<* struct pypy.interpreter.baseobjspace.W_Root>, FieldDescr<pypy.interpreter.error.OperationError.inst_w_type>
 198  assert_not_none %r2
 200  -live- %r2
 200  guard_class %r2 -> %i0
 203  -live- %r2
 203  raise %r2
 205  ---
 205  L12:
 205  L13:
 205  -live- %i1, %r0, %r1, %r3
 205  record_quasiimmut_field %r1, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.inst_shape>, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.mutate_shape>
 211  getfield_gc_r_pure %r1, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.inst_shape> -> %r2
 216  -live- %i1, %r0, %r1, %r2, %r3
 216  record_quasiimmut_field %r1, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.inst_subdtype>, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.mutate_subdtype>
 222  getfield_gc_r_pure %r1, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.inst_subdtype> -> %r4
 227  getfield_gc_i_pure %r3, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.inst_order> -> %i0
 232  inline_call_ir_r <JitCode 'calc_strides'>, I[%i0], R[%r2, %r4] -> %r2
 241  -live- %i1, %r0, %r1, %r2, %r3
 241  getfield_gc_r_pure %r2, FieldDescr<tuple2.item0> -> %r4
 246  getfield_gc_r_pure %r2, FieldDescr<tuple2.item1> -> %r2
 251  getfield_gc_r_pure %r3, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.inst_shape> -> %r5
 256  -live- %i1, %r0, %r1, %r2, %r3, %r4, %r5
 256  record_quasiimmut_field %r1, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.inst_shape>, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.mutate_shape>
 262  getfield_gc_r_pure %r1, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.inst_shape> -> %r6
 267  inline_call_r_r <JitCode 'll_concat__GcArray_SignedLlT_arrayPtr_arrayPtr'>, R[%r5, %r6] -> %r5
 274  -live- %i1, %r0, %r1, %r2, %r3, %r4, %r5
 274  getfield_gc_r_pure %r3, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.inst_strides> -> %r6
 279  arraylen_gc %r6, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x000002aaada36288> -> %i0
 284  -live- %i0, %i1, %r0, %r1, %r2, %r3, %r4, %r5, %r6
 284  int_guard_value %i0
 286  inline_call_r_r <JitCode 'll_concat__GcArray_SignedLlT_arrayPtr_arrayPtr'>, R[%r6, %r4] -> %r4
 293  -live- %i1, %r0, %r1, %r2, %r3, %r4, %r5
 293  getfield_gc_r_pure %r3, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.inst_backstrides> -> %r6
 298  arraylen_gc %r6, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x000002aaada36288> -> %i0
 303  -live- %i0, %i1, %r0, %r1, %r2, %r3, %r4, %r5, %r6
 303  int_guard_value %i0
 305  inline_call_r_r <JitCode 'll_concat__GcArray_SignedLlT_arrayPtr_arrayPtr'>, R[%r6, %r2] -> %r2
 312  -live- %i1, %r0, %r1, %r2, %r3, %r4, %r5
 312  -live- %i1, %r0, %r1, %r2, %r3, %r4, %r5
 312  record_quasiimmut_field %r1, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.inst_subdtype>, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.mutate_subdtype>
 318  getfield_gc_r_pure %r1, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.inst_subdtype> -> %r6
 323  -live- %i1, %r0, %r1, %r2, %r3, %r4, %r5, %r6
 323  goto_if_not_ptr_nonzero %r6, L14
 327  ref_copy %r6 -> %r1
 330  L15:
 330  getfield_gc_i_pure %r3, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.inst_start> -> %i0
 335  int_add %i0, %i1 -> %i0
 339  inline_call_ir_r <JitCode 'new_slice'>, I[%i0], R[%r4, %r2, %r5, %r3, %r0, %r1] -> %r2
 352  -live- %r2
 352  ref_return %r2
 354  ---
 354  L14:
 354  goto L15
 357  ---
 357  L11:
 357  goto L13
 360  ---
 360  L10:
 360  raise $<* struct object>
 362  ---
 362  L8:
 362  residual_call_ir_i $<* fn ll_call_lookup_function_trampoline__v1586___simple_call__function_>, I[%i0, $0], R[%r2, %r1], <CallDescr(rrii) EF=5 OS_DICT_LOOKUP> -> %i0
 373  -live- %i0, %r0, %r2, %r3
 373  goto L9
 376  ---
 376  L6:
 376  int_copy $0 -> %i0
 379  goto L7
 382  ---
 382  L5:
 382  new_with_vtable <rpython.jit.backend.llsupport.descr.SizeDescr object at 0x000002aabebdd5c8> -> %r2
 386  setfield_gc_r %r2, $<* struct pypy.interpreter.baseobjspace.W_Root>, FieldDescr<pypy.interpreter.error.OperationError.inst_w_type>
 391  setfield_gc_r %r2, $<* struct tuple2>, FieldDescr<pypy.interpreter.error.OpErrFmt.inst_xstrings>
 396  setfield_gc_r %r2, %r1, FieldDescr<pypy.interpreter.error.OpErrFmt.inst_x0>
 401  assert_not_none %r2
 403  -live- %r2
 403  guard_class %r2 -> %i0
 406  -live- %r2
 406  raise %r2
 408  ---
 408  L3:
 408  residual_call_ir_i $<* fn ll_call_lookup_function_trampoline__v1586___simple_call__function_>, I[%i0, $0], R[%r2, %r1], <CallDescr(rrii) EF=5 OS_DICT_LOOKUP> -> %i0
 419  -live- %i0, %r0, %r1
 419  goto L4
 422  ---
 422  L1:
 422  int_copy $0 -> %i0
 425  goto L2
