   0  -live- %i0, %r0, %r1
   0  goto_if_not_ptr_iszero %r1, L1
   4  int_copy $<* None> -> %i1
   7  ref_copy %r1 -> %r2
  10  ref_copy $<* struct tuple2> -> %r3
  13  L2:
  13  residual_call_ir_i $<* fn ccall_fdopen__Signed_arrayPtr>, I[%i0, %i1], R[], <CallDescr(ii) EF=7> -> %i2
  22  -live- %i2, %r0, %r2, %r3
  22  -live- %i2, %r0, %r2, %r3
  22  goto_if_not_ptr_iszero %r2, L3
  26  L4:
  26  setfield_gc_i %r0, %i2, FieldDescr<pypy.module._cffi_backend.ctypeptr.CffiFileObj.inst_llf>
  31  -live- %i2
  31  goto_if_not_int_is_true %i2, L5
  35  residual_call_ir_v $<* fn ccall_setbuf__FILEPtr_arrayPtr>, I[%i2, $<* None>], R[], <CallDescr(ii) EF=7>
  43  -live-
  43  void_return
  44  ---
  44  L5:
  44  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
  52  new_with_vtable <rpython.jit.backend.llsupport.descr.SizeDescr object at 0x0bbed9d0> -> %r1
  56  setfield_gc_r %r1, $<* struct rpy_string>, FieldDescr<exceptions.EnvironmentError.inst_strerror>
  61  setfield_gc_i %r1, %i0, FieldDescr<exceptions.EnvironmentError.inst_errno>
  66  assert_not_none %r1
  68  -live- %r1
  68  guard_class %r1 -> %i0
  71  -live- %r1
  71  raise %r1
  73  ---
  73  L3:
  73  getfield_gc_i_pure %r3, FieldDescr<tuple2.item0> -> %i0
  78  getfield_gc_i_pure %r3, FieldDescr<tuple2.item1> -> %i1
  83  residual_call_ir_v $<* fn free_nonmovingbuffer>, I[%i0, %i1], R[%r2], <CallDescr(rii) EF=2>
  92  goto L4
  95  ---
  95  L1:
  95  ref_copy %r1 -> %r2
  98  residual_call_r_r $<* fn get_nonmovingbuffer_final_null>, R[%r1], <CallDescr(r) EF=5> -> %r1
 105  -live- %i0, %r0, %r1, %r2
 105  getfield_gc_i_pure %r1, FieldDescr<tuple2.item0> -> %i1
 110  getfield_gc_i_pure %r1, FieldDescr<tuple2.item1> -> %i2
 115  new <rpython.jit.backend.llsupport.descr.SizeDescr object at 0x12d912f0> -> %r3
 119  setfield_gc_i %r3, %i1, FieldDescr<tuple2.item0>
 124  setfield_gc_i %r3, %i2, FieldDescr<tuple2.item1>
 129  getfield_gc_i_pure %r1, FieldDescr<tuple2.item0> -> %i1
 134  goto L2
