@@ -356,9 +356,9 @@ enum {
356
356
};
357
357
358
358
#if RV32_HAS (GDBSTUB )
359
- #define RVOP_NO_NEXT (ir ) (ir->tailcall | rv->debug_mode)
359
+ #define RVOP_NO_NEXT (ir ) (! ir->next | rv->debug_mode)
360
360
#else
361
- #define RVOP_NO_NEXT (ir ) (ir->tailcall )
361
+ #define RVOP_NO_NEXT (ir ) (! ir->next )
362
362
#endif
363
363
364
364
/* record whether the branch is taken or not during emulation */
@@ -601,7 +601,7 @@ static void block_translate(riscv_t *rv, block_map_t *map, block_t *block)
601
601
602
602
assert (prev_ir );
603
603
block -> ir_tail = prev_ir ;
604
- block -> ir_tail -> tailcall = true ;
604
+ block -> ir_tail -> next = NULL ;
605
605
}
606
606
607
607
#define COMBINE_MEM_OPS (RW ) \
@@ -611,7 +611,7 @@ static void block_translate(riscv_t *rv, block_map_t *map, block_t *block)
611
611
if (next_ir->opcode != IIF(RW)(rv_insn_lw, rv_insn_sw)) \
612
612
break; \
613
613
count++; \
614
- if (next_ir->tailcall) \
614
+ if (! next_ir->next) \
615
615
break; \
616
616
next_ir = next_ir->next; \
617
617
} \
@@ -683,7 +683,6 @@ FORCE_INLINE void remove_next_nth_ir(riscv_t *rv,
683
683
}
684
684
if (!ir -> next ) {
685
685
block -> ir_tail = ir ;
686
- ir -> tailcall = true;
687
686
}
688
687
block -> n_insn -= n ;
689
688
}
@@ -794,7 +793,6 @@ static void match_pattern(riscv_t *rv, block_t *block)
794
793
else
795
794
ir -> rs1 = next_ir -> rs2 ;
796
795
ir -> impl = dispatch_table [ir -> opcode ];
797
- ir -> tailcall = next_ir -> tailcall ;
798
796
remove_next_nth_ir (rv , ir , block , 1 );
799
797
}
800
798
break ;
@@ -804,7 +802,7 @@ static void match_pattern(riscv_t *rv, block_t *block)
804
802
if (!IF_insn (next_ir , lui ))
805
803
break ;
806
804
count ++ ;
807
- if (next_ir -> tailcall )
805
+ if (! next_ir -> next )
808
806
break ;
809
807
next_ir = next_ir -> next ;
810
808
}
@@ -841,7 +839,7 @@ static void match_pattern(riscv_t *rv, block_t *block)
841
839
!IF_insn (next_ir , srai ))
842
840
break ;
843
841
count ++ ;
844
- if (next_ir -> tailcall )
842
+ if (! next_ir -> next )
845
843
break ;
846
844
next_ir = next_ir -> next ;
847
845
}
0 commit comments