   0  -live- %i0, %r0
   3  goto_if_not_int_eq %i0, $-1, L1
   8  int_copy $2 -> %i0
  11  L2:
  11  -live- %i0, %r0
  14  goto_if_not_ptr_iszero %r0, L3
  18  int_copy $<* None> -> %i2
  21  L4:
  21  int_signext %i0, $4 -> %i1
  25  inline_call_ir_i <JitCode 'dlopen__arrayPtr_INT_star_2'>, I[%i2, %i1], R[] -> %i1
  33  -live- %i0, %i1, %i2
  36  catch_exception L5
  39  -live- %i0, %i1, %i2
  42  goto_if_not_int_is_true %i2, L6
  46  residual_call_ir_v $<* fn _ll_1_raw_free__arrayPtr>, I[%i2], R[], <CallDescr(i) EF=2 OS_RAW_FREE>
  53  L7:
  53  -live- %i0, %i1
  56  goto_if_not_int_is_true %i1, L8
  60  int_return %i1
  62  ---
  62  L8:
  62  residual_call_r_i $<* fn ccall_dlerror___>, R[], <CallDescr() EF=7> -> %i1
  68  -live- %i0, %i1
  71  goto_if_not_int_is_true %i1, L9
  75  residual_call_ir_r $<* fn charp2str>, I[%i1], R[], <CallDescr(i) EF=5> -> %r0
  83  L10:
  83  -live- %i0, %r0
  86  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> -> %i1
  94  -live- %i0, %i1, %r0
  97  goto_if_not %i1, L11
 101  strlen %r0 -> %i1
 104  inline_call_ir_i <JitCode 'll_find__rpy_stringPtr_rpy_stringPtr_Signed_Signed'>, I[$0, %i1], R[%r0, $<* struct rpy_string>] -> %i1
 114  -live- %i0, %i1, %r0
 117  goto_if_not_int_ne %i1, $-1, L12
 122  residual_call_ir_i $<* fn _retry_as_ldscript>, I[%i0], R[%r0], <CallDescr(ri) EF=7> -> %i1
 131  -live- %i1, %r0
 134  goto_if_not_int_is_true %i1, L13
 138  int_return %i1
 140  ---
 140  L13:
 140  new_with_vtable <rpython.jit.backend.llsupport.descr.SizeDescr object at 0x0000555ae1b466e8> -> %r1
 144  setfield_gc_r %r1, %r0, FieldDescr<rpython.rlib.rdynload.DLOpenError.inst_msg>
 149  assert_not_none %r1
 151  -live- %r1
 154  raise %r1
 156  ---
 156  L12:
 156  L14:
 156  new_with_vtable <rpython.jit.backend.llsupport.descr.SizeDescr object at 0x0000555ae1b466e8> -> %r1
 160  setfield_gc_r %r1, %r0, FieldDescr<rpython.rlib.rdynload.DLOpenError.inst_msg>
 165  assert_not_none %r1
 167  -live- %r1
 170  raise %r1
 172  ---
 172  L11:
 172  goto L14
 175  ---
 175  L9:
 175  ref_copy $<* struct rpy_string> -> %r0
 178  goto L10
 181  ---
 181  L6:
 181  goto L7
 184  ---
 184  L5:
 184  last_exception -> %i1
 186  last_exc_value -> %r1
 188  -live- %i2, %r1
 191  goto_if_not_int_is_true %i2, L15
 195  residual_call_ir_v $<* fn _ll_1_raw_free__arrayPtr>, I[%i2], R[], <CallDescr(i) EF=2 OS_RAW_FREE>
 202  -live- %r1
 205  raise %r1
 207  ---
 207  L15:
 207  -live- %r1
 210  raise %r1
 212  ---
 212  L3:
 212  strlen %r0 -> %i1
 215  int_add %i1, $1 -> %i1
 219  residual_call_ir_i $<* fn _ll_1_raw_malloc_varsize__Signed>, I[%i1], R[], <CallDescr(i) EF=5 OS_RAW_MALLOC_VARSIZE_CHAR> -> %i2
 227  -live- %i0, %i2, %r0
 230  strlen %r0 -> %i1
 233  residual_call_ir_v $<* fn copy_string_to_raw>, I[%i2, $0, %i1], R[%r0], <CallDescr(riii) EF=0 OS_STR_COPY_TO_RAW>
 243  setarrayitem_raw_i %i2, %i1, $'\x00', <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x0000555aab60bd00>
 249  goto L4
 252  ---
 252  L1:
 252  int_and %i0, $3 -> %i1
 256  -live- %i0, %i1, %r0
 259  goto_if_not_int_is_zero %i1, L16
 263  int_or %i0, $2 -> %i0
 267  goto L2
 270  ---
 270  L16:
 270  goto L2
