   0  getfield_gc_r_pure %r0, FieldDescr<pypy.module._cffi_backend.ctypeobj.W_CType.inst_name> -> %r3
   5  getfield_gc_i_pure %r0, FieldDescr<pypy.module._cffi_backend.ctypeobj.W_CType.inst_name_position> -> %i2
  10  strlen %r3 -> %i1
  13  -live- %i0, %i1, %i2, %r0, %r1, %r3
  13  goto_if_not_int_gt %i2, %i1, L1
  18  strlen %r3 -> %i2
  21  L2:
  21  residual_call_ir_r $<* fn _ll_stringslice__rpy_stringPtr_Signed_Signed>, I[$0, %i2], R[%r3], <CallDescr(rii) EF=3 OS_STR_SLICE> -> %r3
  31  -live- %i0, %r0, %r1, %r3
  31  getfield_gc_r_pure %r0, FieldDescr<pypy.module._cffi_backend.ctypeobj.W_CType.inst_name> -> %r2
  36  getfield_gc_i_pure %r0, FieldDescr<pypy.module._cffi_backend.ctypeobj.W_CType.inst_name_position> -> %i1
  41  strlen %r2 -> %i2
  44  residual_call_ir_r $<* fn _ll_stringslice__rpy_stringPtr_Signed_Signed>, I[%i1, %i2], R[%r2], <CallDescr(rii) EF=3 OS_STR_SLICE> -> %r2
  54  -live- %i0, %r0, %r1, %r2, %r3
  54  new_array_clear $3, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x000002aa8c8e1ec0> -> %r4
  59  -live- %i0, %r0, %r1, %r2, %r3, %r4
  59  goto_if_not_ptr_nonzero %r3, L3
  63  L4:
  63  setarrayitem_gc_r %r4, $0, %r3, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x000002aa8c8e1ec0>
  69  -live- %i0, %r0, %r1, %r2, %r4
  69  goto_if_not_ptr_nonzero %r1, L5
  73  L6:
  73  setarrayitem_gc_r %r4, $1, %r1, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x000002aa8c8e1ec0>
  79  -live- %i0, %r0, %r2, %r4
  79  goto_if_not_ptr_nonzero %r2, L7
  83  L8:
  83  setarrayitem_gc_r %r4, $2, %r2, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x000002aa8c8e1ec0>
  89  ref_isvirtual %r4 -> %i1
  92  -live- %i0, %i1, %r0, %r4
  92  goto_if_not %i1, L9
  96  inline_call_ir_r <JitCode 'll_join_strs__v1222___simple_call__function_'>, I[$3], R[%r4] -> %r3
 104  -live- %i0, %r0, %r3
 104  L10:
 104  getfield_gc_i_pure %r0, FieldDescr<pypy.module._cffi_backend.ctypeobj.W_CType.inst_name_position> -> %i1
 109  int_add %i1, %i0 -> %i1
 113  new <rpython.jit.backend.llsupport.descr.SizeDescr object at 0x000002aab501bd00> -> %r2
 117  setfield_gc_r %r2, %r3, FieldDescr<tuple2.item0>
 122  setfield_gc_i %r2, %i1, FieldDescr<tuple2.item1>
 127  ref_return %r2
 129  ---
 129  L9:
 129  int_isconstant $3 -> %i1
 132  -live- %i0, %i1, %r0, %r4
 132  goto_if_not %i1, L11
 136  L12:
 136  residual_call_ir_r $<* fn ll_join_strs_trampoline__v1224___simple_call__function_>, I[$3], R[%r4], <CallDescr(ir) EF=5> -> %r3
 145  -live- %i0, %r0, %r3
 145  goto L10
 148  ---
 148  L11:
 148  goto L12
 151  ---
 151  L7:
 151  ref_copy $<* struct rpy_string> -> %r2
 154  goto L8
 157  ---
 157  L5:
 157  ref_copy $<* struct rpy_string> -> %r1
 160  goto L6
 163  ---
 163  L3:
 163  ref_copy $<* struct rpy_string> -> %r3
 166  goto L4
 169  ---
 169  L1:
 169  goto L2
