   0  getfield_gc_r %r0, FieldDescr<pypy.module._sre.interp_sre.W_SRE_Match.inst_flatten_cache> -> %r2
   5  -live- %r0, %r1, %r2
   8  goto_if_not_ptr_iszero %r2, L1
  12  getfield_gc_r %r0, FieldDescr<pypy.module._sre.interp_sre.W_SRE_Match.inst_srepat> -> %r2
  17  getfield_gc_i_pure %r2, FieldDescr<pypy.module._sre.interp_sre.W_SRE_Pattern.inst_num_groups> -> %i0
  22  getfield_gc_r %r0, FieldDescr<pypy.module._sre.interp_sre.W_SRE_Match.inst_ctx> -> %r2
  27  int_isconstant %i0 -> %i1
  30  -live- %i0, %i1, %r0, %r1, %r2
  33  goto_if_not %i1, L2
  37  inline_call_ir_r <JitCode 'do_flatten_marks__v962___simple_call__function_d'>, I[%i0], R[%r2] -> %r2
  45  L3:
  45  -live- %r0, %r1, %r2
  48  setfield_gc_r %r0, %r2, FieldDescr<pypy.module._sre.interp_sre.W_SRE_Match.inst_flatten_cache>
  53  L4:
  53  getfield_gc_r %r0, FieldDescr<pypy.module._sre.interp_sre.W_SRE_Match.inst_flatten_cache> -> %r3
  58  getfield_gc_r %r0, FieldDescr<pypy.module._sre.interp_sre.W_SRE_Match.inst_srepat> -> %r2
  63  getfield_gc_i_pure %r2, FieldDescr<pypy.module._sre.interp_sre.W_SRE_Pattern.inst_num_groups> -> %i0
  68  getfield_gc_r %r0, FieldDescr<pypy.module._sre.interp_sre.W_SRE_Match.inst_ctx> -> %r2
  73  int_isconstant %i0 -> %i1
  76  -live- %i0, %i1, %r1, %r2, %r3
  79  goto_if_not %i1, L5
  83  inline_call_ir_r <JitCode 'allgroups_w__v967___simple_call__function_a'>, I[%i0], R[%r2, %r3, %r1] -> %r2
  93  -live- %r2
  96  ref_return %r2
  98  ---
  98  L5:
  98  residual_call_ir_r $<* fn allgroups_w_trampoline__v968___simple_call__function_a>, I[%i0], R[%r2, %r3, %r1], <CallDescr(rrir) EF=7> -> %r2
 109  -live- %r2
 112  ref_return %r2
 114  ---
 114  L2:
 114  residual_call_ir_r $<* fn do_flatten_marks_trampoline__v963___simple_call__function_d>, I[%i0], R[%r2], <CallDescr(ri) EF=5> -> %r2
 123  -live- %r0, %r1, %r2
 126  goto L3
 129  ---
 129  L1:
 129  goto L4
