@@ -50,9 +50,6 @@ pub struct ReturnCallInfo<T> {
50
50
51
51
/// The in-register arguments and their constraints.
52
52
pub uses : CallArgList ,
53
-
54
- /// A temporary for use when moving the return address.
55
- pub tmp : WritableGpr ,
56
53
}
57
54
58
55
#[ test]
@@ -676,11 +673,9 @@ impl PrettyPrint for Inst {
676
673
let ReturnCallInfo {
677
674
uses,
678
675
new_stack_arg_size,
679
- tmp,
680
676
dest,
681
677
} = & * * info;
682
- let tmp = pretty_print_reg ( tmp. to_reg ( ) . to_reg ( ) , 8 ) ;
683
- let mut s = format ! ( "return_call_known {dest:?} ({new_stack_arg_size}) tmp={tmp}" ) ;
678
+ let mut s = format ! ( "return_call_known {dest:?} ({new_stack_arg_size})" ) ;
684
679
for ret in uses {
685
680
let preg = regs:: show_reg ( ret. preg ) ;
686
681
let vreg = pretty_print_reg ( ret. vreg , 8 ) ;
@@ -693,13 +688,10 @@ impl PrettyPrint for Inst {
693
688
let ReturnCallInfo {
694
689
uses,
695
690
new_stack_arg_size,
696
- tmp,
697
691
dest,
698
692
} = & * * info;
699
693
let callee = pretty_print_reg ( * dest, 8 ) ;
700
- let tmp = pretty_print_reg ( tmp. to_reg ( ) . to_reg ( ) , 8 ) ;
701
- let mut s =
702
- format ! ( "return_call_unknown {callee} ({new_stack_arg_size}) tmp={tmp}" ) ;
694
+ let mut s = format ! ( "return_call_unknown {callee} ({new_stack_arg_size})" ) ;
703
695
for ret in uses {
704
696
let preg = regs:: show_reg ( ret. preg ) ;
705
697
let vreg = pretty_print_reg ( ret. vreg , 8 ) ;
@@ -1133,10 +1125,7 @@ fn x64_get_operands(inst: &mut Inst, collector: &mut impl OperandVisitor) {
1133
1125
}
1134
1126
1135
1127
Inst :: ReturnCallKnown { info } => {
1136
- let ReturnCallInfo {
1137
- dest, uses, tmp, ..
1138
- } = & mut * * info;
1139
- collector. reg_fixed_def ( tmp, regs:: r11 ( ) ) ;
1128
+ let ReturnCallInfo { dest, uses, .. } = & mut * * info;
1140
1129
// Same as in the `Inst::CallKnown` branch.
1141
1130
debug_assert_ne ! ( * dest, ExternalName :: LibCall ( LibCall :: Probestack ) ) ;
1142
1131
for CallArgPair { vreg, preg } in uses {
@@ -1145,9 +1134,7 @@ fn x64_get_operands(inst: &mut Inst, collector: &mut impl OperandVisitor) {
1145
1134
}
1146
1135
1147
1136
Inst :: ReturnCallUnknown { info } => {
1148
- let ReturnCallInfo {
1149
- dest, uses, tmp, ..
1150
- } = & mut * * info;
1137
+ let ReturnCallInfo { dest, uses, .. } = & mut * * info;
1151
1138
1152
1139
// TODO(https://github.com/bytecodealliance/regalloc2/issues/145):
1153
1140
// This shouldn't be a fixed register constraint, but it's not clear how to
@@ -1156,7 +1143,6 @@ fn x64_get_operands(inst: &mut Inst, collector: &mut impl OperandVisitor) {
1156
1143
// safe to use.
1157
1144
collector. reg_fixed_use ( dest, regs:: r10 ( ) ) ;
1158
1145
1159
- collector. reg_fixed_def ( tmp, regs:: r11 ( ) ) ;
1160
1146
for CallArgPair { vreg, preg } in uses {
1161
1147
collector. reg_fixed_use ( vreg, * preg) ;
1162
1148
}
0 commit comments