   0  -live- %i0, %r0, %r1
   0  goto_if_not_ptr_iszero %r1, L1
   4  int_copy $<* None> -> %i2
   7  L2:
   7  -live- %i0, %i2, %r0, %r1
   7  goto_if_not_ptr_iszero %r1, L3
  11  int_copy %i2 -> %i1
  14  ref_copy $<* struct rpy_string> -> %r1
  17  L4:
  17  inline_call_ir_i <JitCode 'dlopen'>, I[%i1, %i0], R[] -> %i1
  25  -live- %i1, %i2, %r0, %r1
  25  catch_exception L5
  28  setfield_gc_i %r0, %i1, FieldDescr<pypy.module._cffi_backend.libraryobj.W_Library.inst_handle>
  33  -live- %i2, %r0, %r1
  33  goto_if_not_int_is_true %i2, L6
  37  residual_call_ir_v $<* fn _ll_1_raw_free__arrayPtr>, I[%i2], R[], <CallDescr(i) EF=2 OS_RAW_FREE>
  44  L7:
  44  setfield_gc_r %r0, %r1, FieldDescr<pypy.module._cffi_backend.libraryobj.W_Library.inst_name>
  49  -live- %r0
  49  guard_class %r0 -> %i1
  52  getfield_raw_i %i1, FieldDescr<pypy.interpreter.baseobjspace.W_Root_vtable.cls_user_overridden_class> -> %i1
  57  -live- %i1, %r0
  57  goto_if_not %i1, L8
  61  -live- %r0
  61  guard_class %r0 -> %i1
  64  getfield_raw_i %i1, FieldDescr<pypy.interpreter.baseobjspace.W_Root_vtable.cls_getclass> -> %i1
  69  getfield_raw_i %i1, FieldDescr<specfunc.variant0> -> %i1
  74  -live- %i1, %r0
  74  int_guard_value %i1
  76  residual_call_r_r %i1, <IndirectCallTargets>, R[%r0], <CallDescr(r) EF=2> -> %r1
  83  -live- %r0, %r1
  83  getfield_gc_i_pure %r1, FieldDescr<pypy.objspace.std.typeobject.W_TypeObject.inst_hasuserdel> -> %i1
  88  -live- %i1, %r0
  88  goto_if_not %i1, L9
  92  void_return
  93  ---
  93  L9:
  93  L10:
  93  residual_call_r_v $<* fn register_finalizer___pypy_interpreter_executioncon>, R[%r0], <CallDescr(r) EF=2>
  99  void_return
 100  ---
 100  L8:
 100  goto L10
 103  ---
 103  L6:
 103  goto L7
 106  ---
 106  L5:
 106  goto_if_exception_mismatch $<* struct object_vtable>, L11
 110  last_exc_value -> %r0
 112  inline_call_r_r <JitCode 'wrap_dlopenerror'>, R[%r0, %r1] -> %r1
 119  -live- %i2, %r1
 119  catch_exception L12
 122  assert_not_none %r1
 124  -live- %i2, %r1
 124  guard_class %r1 -> %i1
 127  L13:
 127  -live- %i2, %r1
 127  goto_if_not_int_is_true %i2, L14
 131  residual_call_ir_v $<* fn _ll_1_raw_free__arrayPtr>, I[%i2], R[], <CallDescr(i) EF=2 OS_RAW_FREE>
 138  L15:
 138  -live- %r1
 138  raise %r1
 140  ---
 140  L14:
 140  goto L15
 143  ---
 143  L12:
 143  last_exception -> %i1
 145  last_exc_value -> %r1
 147  -live- %i2, %r1
 147  goto_if_not_int_is_true %i2, L16
 151  residual_call_ir_v $<* fn _ll_1_raw_free__arrayPtr>, I[%i2], R[], <CallDescr(i) EF=2 OS_RAW_FREE>
 158  -live- %r1
 158  raise %r1
 160  ---
 160  L16:
 160  -live- %r1
 160  raise %r1
 162  ---
 162  L11:
 162  last_exception -> %i1
 164  last_exc_value -> %r1
 166  goto L13
 169  ---
 169  L3:
 169  int_copy %i2 -> %i1
 172  goto L4
 175  ---
 175  L1:
 175  strlen %r1 -> %i1
 178  int_add %i1, $1 -> %i1
 182  residual_call_ir_i $<* fn _ll_1_raw_malloc_varsize__Signed>, I[%i1], R[], <CallDescr(i) EF=5 OS_RAW_MALLOC_VARSIZE_CHAR> -> %i2
 190  -live- %i0, %i2, %r0, %r1
 190  strlen %r1 -> %i1
 193  residual_call_ir_v $<* fn copy_string_to_raw>, I[%i2, $0, %i1], R[%r1], <CallDescr(riii) EF=0 OS_STR_COPY_TO_RAW>
 203  setarrayitem_raw_i %i2, %i1, $'\x00', <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x7fff4c1ed6e0>
 209  goto L2
