   0  -live- %r0, %r1
   0  guard_class %r0 -> %i0
   3  getfield_raw_i %i0, FieldDescr<pypy.module.micronumpy.base.W_NumpyObject_vtable.cls_get_dtype> -> %i0
   8  -live- %i0, %r0, %r1
   8  switch %i0, <SwitchDictDescr 1:L1, 2:L2, 3:L3>
  12  unreachable
  13  ---
  13  L1:
  13  -live- %r0, %r1
  13  -live- %r0, %r1
  13  guard_class %r0 -> %i0
  16  getfield_raw_i %i0, FieldDescr<pypy.module.micronumpy.boxes.W_GenericBox_vtable.cls__get_dtype> -> %i0
  21  -live- %i0, %r1
  21  int_guard_value %i0
  23  residual_call_r_r %i0, <IndirectCallTargets>, R[], <CallDescr() EF=2> -> %r2
  29  -live- %r1, %r2
  29  L4:
  29  -live- %r1, %r2
  29  record_quasiimmut_field %r2, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.inst_itemtype>, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.mutate_itemtype>
  35  getfield_gc_r_pure %r2, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.inst_itemtype> -> %r0
  40  -live- %r0, %r1, %r2
  40  guard_class %r0 -> %i0
  43  getfield_raw_i %i0, FieldDescr<pypy.module.micronumpy.types.BaseType_vtable.cls_coerce> -> %i0
  48  -live- %i0, %r0, %r1, %r2
  48  int_guard_value %i0
  50  residual_call_r_r %i0, <IndirectCallTargets>, R[%r0, %r2, %r1], <CallDescr(rrr) EF=7> -> %r0
  59  -live-
  59  ref_return $<* struct pypy.interpreter.baseobjspace.W_Root>
  61  ---
  61  L2:
  61  -live- %r0, %r1
  61  getfield_gc_r_pure %r0, FieldDescr<pypy.module.micronumpy.boxes.W_FlexibleBox.inst_dtype> -> %r2
  66  goto L4
  69  ---
  69  L3:
  69  -live- %r0, %r1
  69  getfield_gc_r %r0, FieldDescr<pypy.module.micronumpy.boxes.W_UnicodeBox.inst__value> -> %r0
  74  strlen %r0 -> %i0
  77  inline_call_ir_r <JitCode 'new_unicode_dtype'>, I[%i0], R[] -> %r2
  84  -live- %r1, %r2
  84  goto L4
