   0  -live- %i0, %i1
   3  goto_if_not_int_eq %i1, $-1, L1
   8  int_copy $2 -> %i1
  11  L2:
  11  residual_call_ir_i $<* fn ccall_dlopen__arrayPtr_Signed>, I[%i0, %i1], R[], <CallDescr(ii) EF=7> -> %i2
  20  -live- %i1, %i2
  23  goto_if_not_int_is_true %i2, L3
  27  int_return %i2
  29  ---
  29  L3:
  29  residual_call_r_i $<* fn ccall_dlerror___>, R[], <CallDescr() EF=7> -> %i2
  35  -live- %i1, %i2
  38  goto_if_not_int_is_true %i2, L4
  42  residual_call_ir_r $<* fn charp2str>, I[%i2], R[], <CallDescr(i) EF=5> -> %r0
  50  L5:
  50  -live- %i1, %r0
  53  residual_call_r_i $<* fn ll_streq__rpy_stringPtr_rpy_stringPtr>, R[$<* struct rpy_string>, $<* struct rpy_string>], <CallDescr(rr) EF=0 OS_STR_EQUAL> -> %i2
  61  -live- %i1, %i2, %r0
  64  goto_if_not %i2, L6
  68  strlen %r0 -> %i2
  71  inline_call_ir_i <JitCode 'll_find__rpy_stringPtr_rpy_stringPtr_Signed_Signed'>, I[$0, %i2], R[%r0, $<* struct rpy_string>] -> %i2
  81  -live- %i1, %i2, %r0
  84  goto_if_not_int_ne %i2, $-1, L7
  89  residual_call_ir_i $<* fn _retry_as_ldscript>, I[%i1], R[%r0], <CallDescr(ri) EF=7> -> %i2
  98  -live- %i2, %r0
 101  goto_if_not_int_is_true %i2, L8
 105  int_return %i2
 107  ---
 107  L8:
 107  new_with_vtable <rpython.jit.backend.llsupport.descr.SizeDescr object at 0x38ef01d0> -> %r1
 111  setfield_gc_r %r1, %r0, FieldDescr<rpython.rlib.rdynload.DLOpenError.inst_msg>
 116  assert_not_none %r1
 118  -live- %r1
 121  raise %r1
 123  ---
 123  L7:
 123  L9:
 123  new_with_vtable <rpython.jit.backend.llsupport.descr.SizeDescr object at 0x38ef01d0> -> %r1
 127  setfield_gc_r %r1, %r0, FieldDescr<rpython.rlib.rdynload.DLOpenError.inst_msg>
 132  assert_not_none %r1
 134  -live- %r1
 137  raise %r1
 139  ---
 139  L6:
 139  goto L9
 142  ---
 142  L4:
 142  ref_copy $<* struct rpy_string> -> %r0
 145  goto L5
 148  ---
 148  L1:
 148  int_and %i1, $3 -> %i2
 152  -live- %i0, %i1, %i2
 155  goto_if_not_int_is_zero %i2, L10
 159  int_or %i1, $2 -> %i1
 163  goto L2
 166  ---
 166  L10:
 166  goto L2
