@@ -543,6 +543,8 @@ void MVM_spesh_args(MVMThreadContext *tc, MVMSpeshGraph *g, MVMCallsite *cs, MVM
543
543
named_ins [i ]-> operands [1 ].lit_i16 = found_idx + 1 ;
544
544
MVM_spesh_manipulate_insert_goto (tc , g , named_bb [i ], named_ins [i ],
545
545
named_ins [i ]-> operands [2 ].ins_bb );
546
+ MVM_spesh_manipulate_remove_successor (tc , named_bb [i ],
547
+ named_bb [i ]-> linear_next );
546
548
used_ins [i ] = add_named_used_ins (tc , g , named_bb [i ], named_ins [i ], cur_named );
547
549
named_used ++ ;
548
550
}
@@ -552,6 +554,8 @@ void MVM_spesh_args(MVMThreadContext *tc, MVMSpeshGraph *g, MVMCallsite *cs, MVM
552
554
pos_unbox (tc , g , named_bb [i ], named_ins [i ], MVM_op_get_op (MVM_OP_unbox_i ));
553
555
MVM_spesh_manipulate_insert_goto (tc , g , named_bb [i ], named_ins [i ]-> next ,
554
556
named_ins [i ]-> operands [2 ].ins_bb );
557
+ MVM_spesh_manipulate_remove_successor (tc , named_bb [i ],
558
+ named_bb [i ]-> linear_next );
555
559
used_ins [i ] = add_named_used_ins (tc , g , named_bb [i ], named_ins [i ]-> next , cur_named );
556
560
named_used ++ ;
557
561
}
@@ -566,6 +570,8 @@ void MVM_spesh_args(MVMThreadContext *tc, MVMSpeshGraph *g, MVMCallsite *cs, MVM
566
570
named_ins [i ]-> operands [1 ].lit_i16 = found_idx + 1 ;
567
571
MVM_spesh_manipulate_insert_goto (tc , g , named_bb [i ], named_ins [i ],
568
572
named_ins [i ]-> operands [2 ].ins_bb );
573
+ MVM_spesh_manipulate_remove_successor (tc , named_bb [i ],
574
+ named_bb [i ]-> linear_next );
569
575
used_ins [i ] = add_named_used_ins (tc , g , named_bb [i ], named_ins [i ], cur_named );
570
576
named_used ++ ;
571
577
}
@@ -575,6 +581,8 @@ void MVM_spesh_args(MVMThreadContext *tc, MVMSpeshGraph *g, MVMCallsite *cs, MVM
575
581
pos_unbox (tc , g , named_bb [i ], named_ins [i ], MVM_op_get_op (MVM_OP_unbox_n ));
576
582
MVM_spesh_manipulate_insert_goto (tc , g , named_bb [i ], named_ins [i ]-> next ,
577
583
named_ins [i ]-> operands [2 ].ins_bb );
584
+ MVM_spesh_manipulate_remove_successor (tc , named_bb [i ],
585
+ named_bb [i ]-> linear_next );
578
586
used_ins [i ] = add_named_used_ins (tc , g , named_bb [i ], named_ins [i ]-> next , cur_named );
579
587
named_used ++ ;
580
588
}
@@ -589,6 +597,8 @@ void MVM_spesh_args(MVMThreadContext *tc, MVMSpeshGraph *g, MVMCallsite *cs, MVM
589
597
named_ins [i ]-> operands [1 ].lit_i16 = found_idx + 1 ;
590
598
MVM_spesh_manipulate_insert_goto (tc , g , named_bb [i ], named_ins [i ],
591
599
named_ins [i ]-> operands [2 ].ins_bb );
600
+ MVM_spesh_manipulate_remove_successor (tc , named_bb [i ],
601
+ named_bb [i ]-> linear_next );
592
602
used_ins [i ] = add_named_used_ins (tc , g , named_bb [i ], named_ins [i ], cur_named );
593
603
named_used ++ ;
594
604
}
@@ -598,6 +608,8 @@ void MVM_spesh_args(MVMThreadContext *tc, MVMSpeshGraph *g, MVMCallsite *cs, MVM
598
608
pos_unbox (tc , g , named_bb [i ], named_ins [i ], MVM_op_get_op (MVM_OP_unbox_s ));
599
609
MVM_spesh_manipulate_insert_goto (tc , g , named_bb [i ], named_ins [i ]-> next ,
600
610
named_ins [i ]-> operands [2 ].ins_bb );
611
+ MVM_spesh_manipulate_remove_successor (tc , named_bb [i ],
612
+ named_bb [i ]-> linear_next );
601
613
used_ins [i ] = add_named_used_ins (tc , g , named_bb [i ], named_ins [i ]-> next , cur_named );
602
614
named_used ++ ;
603
615
}
@@ -613,6 +625,8 @@ void MVM_spesh_args(MVMThreadContext *tc, MVMSpeshGraph *g, MVMCallsite *cs, MVM
613
625
named_ins [i ]-> operands [1 ].lit_i16 = arg_idx ;
614
626
MVM_spesh_manipulate_insert_goto (tc , g , named_bb [i ], named_ins [i ],
615
627
named_ins [i ]-> operands [2 ].ins_bb );
628
+ MVM_spesh_manipulate_remove_successor (tc , named_bb [i ],
629
+ named_bb [i ]-> linear_next );
616
630
used_ins [i ] = add_named_used_ins (tc , g , named_bb [i ], named_ins [i ], cur_named );
617
631
if (args [arg_idx ].o )
618
632
add_guards_and_facts (tc , g , arg_idx , args [arg_idx ].o , named_ins [i ]);
@@ -635,6 +649,8 @@ void MVM_spesh_args(MVMThreadContext *tc, MVMSpeshGraph *g, MVMCallsite *cs, MVM
635
649
MVM_op_get_op (MVM_OP_sp_getarg_s ), MVM_reg_str );
636
650
MVM_spesh_manipulate_insert_goto (tc , g , named_bb [i ], named_ins [i ]-> next -> next ,
637
651
named_ins [i ]-> operands [2 ].ins_bb );
652
+ MVM_spesh_manipulate_remove_successor (tc , named_bb [i ],
653
+ named_bb [i ]-> linear_next );
638
654
used_ins [i ] = add_named_used_ins (tc , g , named_bb [i ], named_ins [i ]-> next -> next , cur_named );
639
655
named_used ++ ;
640
656
}
0 commit comments