   0  int_signext %i0, $4 -> %i0
   4  -live- %i0, %r0, %r1
   4  goto_if_not_ptr_iszero %r1, L1
   8  int_copy $<* None> -> %i1
  11  ref_copy %r1 -> %r2
  14  ref_copy $<* struct tuple2> -> %r3
  17  L2:
  17  residual_call_ir_i $<* fn ccall_fdopen__INT_arrayPtr>, I[%i0, %i1], R[], <CallDescr(ii) EF=7> -> %i2
  26  -live- %i2, %r0, %r2, %r3
  26  -live- %i2, %r0, %r2, %r3
  26  goto_if_not_ptr_iszero %r2, L3
  30  L4:
  30  setfield_gc_i %r0, %i2, FieldDescr<pypy.module._cffi_backend.ctypeptr.CffiFileObj.inst_llf>
  35  -live- %i2
  35  goto_if_not_int_is_true %i2, L5
  39  residual_call_ir_v $<* fn ccall_setbuf__FILEPtr_arrayPtr>, I[%i2, $<* None>], R[], <CallDescr(ii) EF=7>
  47  -live-
  47  void_return
  48  ---
  48  L5:
  48  residual_call_ir_i $<* fn _ll_1_threadlocalref_get__INTLlT_Signed>, I[$CDefinedIntSymbolic('RPY_TLOFS_rpy_errno')], R[], <CallDescr(i) EF=2 OS_THREADLOCALREF_GET> -> %i0
  56  new_with_vtable <rpython.jit.backend.llsupport.descr.SizeDescr object at 0x7fff4b702d70> -> %r1
  60  setfield_gc_r %r1, $<* struct rpy_string>, FieldDescr<exceptions.EnvironmentError.inst_strerror>
  65  setfield_gc_i %r1, %i0, FieldDescr<exceptions.EnvironmentError.inst_errno>
  70  assert_not_none %r1
  72  -live- %r1
  72  guard_class %r1 -> %i0
  75  -live- %r1
  75  raise %r1
  77  ---
  77  L3:
  77  getfield_gc_i_pure %r3, FieldDescr<tuple2.item0> -> %i0
  82  getfield_gc_i_pure %r3, FieldDescr<tuple2.item1> -> %i1
  87  residual_call_ir_v $<* fn free_nonmovingbuffer>, I[%i0, %i1], R[%r2], <CallDescr(rii) EF=2>
  96  goto L4
  99  ---
  99  L1:
  99  ref_copy %r1 -> %r2
 102  residual_call_r_r $<* fn get_nonmovingbuffer_final_null>, R[%r1], <CallDescr(r) EF=5> -> %r1
 109  -live- %i0, %r0, %r1, %r2
 109  getfield_gc_i_pure %r1, FieldDescr<tuple2.item0> -> %i1
 114  getfield_gc_i_pure %r1, FieldDescr<tuple2.item1> -> %i2
 119  new <rpython.jit.backend.llsupport.descr.SizeDescr object at 0x7fff4d4d0410> -> %r3
 123  setfield_gc_i %r3, %i1, FieldDescr<tuple2.item0>
 128  setfield_gc_i %r3, %i2, FieldDescr<tuple2.item1>
 133  getfield_gc_i_pure %r1, FieldDescr<tuple2.item0> -> %i1
 138  goto L2
