   0  -live- %i0, %r0, %r1
   3  goto_if_not_ptr_iszero %r1, L1
   7  int_copy $<* None> -> %i1
  10  int_copy $'\x04' -> %i2
  13  int_copy $<* None> -> %i3
  16  ref_copy %r1 -> %r2
  19  ref_copy $<* struct rpy_string> -> %r3
  22  L2:
  22  residual_call_ir_i $<* fn ccall_fdopen__Signed_arrayPtr>, I[%i0, %i3], R[], <CallDescr(ii) EF=7> -> %i0
  31  -live- %i0, %i1, %i2, %r0, %r2, %r3
  34  goto_if_not_ptr_iszero %r2, L3
  38  L4:
  38  setfield_gc_i %r0, %i0, FieldDescr<pypy.module._cffi_backend.ctypeptr.CffiFileObj.inst_llf>
  43  -live- %i0
  46  goto_if_not_int_is_true %i0, L5
  50  residual_call_ir_v $<* fn ccall_setbuf__FILEPtr_arrayPtr>, I[%i0, $<* None>], R[], <CallDescr(ii) EF=7>
  58  -live-
  61  void_return
  62  ---
  62  L5:
  62  residual_call_ir_i $<* fn _ll_1_threadlocalref_get__SignedLlT_Signed>, I[$CDefinedIntSymbolic('RPY_TLOFS_rpy_errno')], R[], <CallDescr(i) EF=2 OS_THREADLOCALREF_GET> -> %i0
  70  new_with_vtable <rpython.jit.backend.llsupport.descr.SizeDescr object at 0x78e37110> -> %r1
  74  setfield_gc_r %r1, $<* struct rpy_string>, FieldDescr<exceptions.EnvironmentError.inst_strerror>
  79  setfield_gc_i %r1, %i0, FieldDescr<exceptions.EnvironmentError.inst_errno>
  84  assert_not_none %r1
  86  -live- %r1
  89  raise %r1
  91  ---
  91  L3:
  91  residual_call_ir_v $<* fn free_nonmovingbuffer_ll>, I[%i1, %i2], R[%r3], <CallDescr(iri) EF=2>
 100  goto L4
 103  ---
 103  L1:
 103  ref_copy %r1 -> %r2
 106  residual_call_r_r $<* fn get_nonmovingbuffer_ll_final_null>, R[%r1], <CallDescr(r) EF=5> -> %r1
 113  -live- %i0, %r0, %r1, %r2
 116  getfield_gc_i_pure %r1, FieldDescr<tuple3.item0> -> %i1
 121  getfield_gc_r_pure %r1, FieldDescr<tuple3.item1> -> %r3
 126  getfield_gc_i_pure %r1, FieldDescr<tuple3.item2> -> %i2
 131  int_copy %i1 -> %i3
 134  goto L2
