@@ -179,15 +179,7 @@ let rebuild_non_inlined_direct_full_application apply ~use_id ~exn_cont_use_id
179
179
* in *)
180
180
let apply = if erase_callee then Apply. erase_callee apply else apply in
181
181
let uacc, expr =
182
- match use_id with
183
- | None ->
184
- let uacc =
185
- UA. add_free_names uacc (Apply. free_names apply)
186
- |> UA. notify_added ~code_size: (Code_size. apply apply)
187
- in
188
- uacc, RE. create_apply (UA. are_rebuilding_terms uacc) apply
189
- | Some use_id ->
190
- EB. rewrite_fixed_arity_apply uacc ~use_id result_arity apply
182
+ EB. rewrite_fixed_arity_apply uacc ~use_id result_arity apply
191
183
in
192
184
after_rebuild expr uacc
193
185
@@ -861,12 +853,6 @@ let rebuild_function_call_where_callee's_type_unavailable apply call_kind
861
853
let simplify_function_call_where_callee's_type_unavailable dacc apply
862
854
(call : Call_kind.Function_call.t ) ~apply_alloc_mode ~down_to_up =
863
855
fail_if_probe apply;
864
- let cont =
865
- match Apply. continuation apply with
866
- | Never_returns ->
867
- Misc. fatal_error " cannot simplify an application that never returns"
868
- | Return continuation -> continuation
869
- in
870
856
let denv = DA. denv dacc in
871
857
if Are_rebuilding_terms. are_rebuilding (DE. are_rebuilding_terms denv)
872
858
then
@@ -875,6 +861,18 @@ let simplify_function_call_where_callee's_type_unavailable dacc apply
875
861
~tracker: (DE. inlining_history_tracker denv)
876
862
~apply () ;
877
863
let env_at_use = denv in
864
+ let dacc, use_id =
865
+ match Apply. continuation apply with
866
+ | Never_returns -> dacc, None
867
+ | Return continuation ->
868
+ let dacc, use_id =
869
+ DA. record_continuation_use dacc continuation
870
+ (Non_inlinable { escaping = true })
871
+ ~env_at_use
872
+ ~arg_types: (T. unknown_types_from_arity (Apply. return_arity apply))
873
+ in
874
+ dacc, Some use_id
875
+ in
878
876
let dacc, exn_cont_use_id =
879
877
DA. record_continuation_use dacc
880
878
(Exn_continuation. exn_handler (Apply. exn_continuation apply))
@@ -884,12 +882,6 @@ let simplify_function_call_where_callee's_type_unavailable dacc apply
884
882
(T. unknown_types_from_arity
885
883
(Exn_continuation. arity (Apply. exn_continuation apply)))
886
884
in
887
- let dacc, use_id =
888
- DA. record_continuation_use dacc cont
889
- (Non_inlinable { escaping = true })
890
- ~env_at_use
891
- ~arg_types: (T. unknown_types_from_arity (Apply. return_arity apply))
892
- in
893
885
let call_kind =
894
886
match call with
895
887
| Indirect_unknown_arity ->
@@ -903,8 +895,7 @@ let simplify_function_call_where_callee's_type_unavailable dacc apply
903
895
Call_kind. indirect_function_call_known_arity apply_alloc_mode
904
896
in
905
897
let dacc =
906
- record_free_names_of_apply_as_used ~use_id: (Some use_id) ~exn_cont_use_id
907
- dacc apply
898
+ record_free_names_of_apply_as_used ~use_id ~exn_cont_use_id dacc apply
908
899
in
909
900
down_to_up dacc
910
901
~rebuild:
@@ -1049,7 +1040,8 @@ let rebuild_method_call apply ~use_id ~exn_cont_use_id uacc ~after_rebuild =
1049
1040
apply
1050
1041
in
1051
1042
let uacc, expr =
1052
- EB. rewrite_fixed_arity_apply uacc ~use_id (Apply. return_arity apply) apply
1043
+ EB. rewrite_fixed_arity_apply uacc ~use_id: (Some use_id)
1044
+ (Apply. return_arity apply) apply
1053
1045
in
1054
1046
after_rebuild expr uacc
1055
1047
@@ -1108,15 +1100,7 @@ let rebuild_c_call apply ~use_id ~exn_cont_use_id ~return_arity uacc
1108
1100
apply
1109
1101
in
1110
1102
let uacc, expr =
1111
- match use_id with
1112
- | Some use_id ->
1113
- EB. rewrite_fixed_arity_apply uacc ~use_id return_arity apply
1114
- | None ->
1115
- let uacc =
1116
- UA. add_free_names uacc (Apply. free_names apply)
1117
- |> UA. notify_added ~code_size: (Code_size. apply apply)
1118
- in
1119
- uacc, RE. create_apply (UA. are_rebuilding_terms uacc) apply
1103
+ EB. rewrite_fixed_arity_apply uacc ~use_id return_arity apply
1120
1104
in
1121
1105
after_rebuild expr uacc
1122
1106
0 commit comments