   0  strlen %r0 -> %i0
   3  int_add %i0, $1 -> %i0
   7  residual_call_ir_i $<* fn _ll_1_raw_malloc_varsize__Signed>, I[%i0], R[], <CallDescr(i) EF=5 OS_RAW_MALLOC_VARSIZE_CHAR> -> %i0
  15  -live- %i0, %r0, %r1
  15  strlen %r0 -> %i1
  18  residual_call_ir_v $<* fn copy_string_to_raw>, I[%i0, $0, %i1], R[%r0], <CallDescr(riii) EF=0 OS_STR_COPY_TO_RAW>
  28  setarrayitem_raw_i %i0, %i1, $'\x00', <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x3fff419911d0>
  34  strlen %r1 -> %i1
  37  int_add %i1, $1 -> %i1
  41  residual_call_ir_i $<* fn _ll_1_raw_malloc_varsize__Signed>, I[%i1], R[], <CallDescr(i) EF=5 OS_RAW_MALLOC_VARSIZE_CHAR> -> %i2
  49  -live- %i0, %i2, %r1
  49  strlen %r1 -> %i1
  52  residual_call_ir_v $<* fn copy_string_to_raw>, I[%i2, $0, %i1], R[%r1], <CallDescr(riii) EF=0 OS_STR_COPY_TO_RAW>
  62  setarrayitem_raw_i %i2, %i1, $'\x00', <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x3fff419911d0>
  68  residual_call_ir_i $<* fn crypt>, I[%i0, %i2], R[], <CallDescr(ii) EF=2> -> %i1
  77  -live- %i0, %i1, %i2
  77  goto_if_not_int_is_true %i0, L1
  81  residual_call_ir_v $<* fn _ll_1_raw_free__arrayPtr>, I[%i0], R[], <CallDescr(i) EF=2 OS_RAW_FREE>
  88  L2:
  88  -live- %i1, %i2
  88  goto_if_not_int_is_true %i2, L3
  92  residual_call_ir_v $<* fn _ll_1_raw_free__arrayPtr>, I[%i2], R[], <CallDescr(i) EF=2 OS_RAW_FREE>
  99  L4:
  99  -live- %i1
  99  goto_if_not_int_is_true %i1, L5
 103  residual_call_ir_r $<* fn charp2str>, I[%i1], R[], <CallDescr(i) EF=5> -> %r0
 111  -live- %r0
 111  new_with_vtable <rpython.jit.backend.llsupport.descr.SizeDescr object at 0x3fff5b593550> -> %r1
 115  setfield_gc_r %r1, %r0, FieldDescr<pypy.objspace.std.bytesobject.W_BytesObject.inst__value>
 120  ref_return %r1
 122  ---
 122  L5:
 122  ref_return $<* struct pypy.interpreter.baseobjspace.W_Root>
 124  ---
 124  L3:
 124  goto L4
 127  ---
 127  L1:
 127  goto L2
