ocaml/middle_end/flambda
Gabriel Scherer d260a79416 [refactoring] gives tailcall attributes a more standard structure
We want to start allowing more information in the payload of
[@tailcall] attributes (currently no payload is supported), for
example we could consider using [@tailcall false] to ask the code
generator to disable a tail call.

A first required step in this direction is to use a custom datatype to
represent the tail-call attribute, instead of a boolean. This is
consistent with the other application-site
attributes (inline_attribute, specialise_attribute, local_attribute),
so it makes the code more regular -- but the change itself is
boilerplate-y.
2020-06-08 15:39:50 +02:00
..
base_types Warn about unused functor parameters (#8891) 2019-10-14 11:11:01 +01:00
alias_analysis.ml Move some middle-end files around (#2281) 2019-04-01 17:18:47 +01:00
alias_analysis.mli Move some middle-end files around (#2281) 2019-04-01 17:18:47 +01:00
allocated_const.ml Move some middle-end files around (#2281) 2019-04-01 17:18:47 +01:00
allocated_const.mli Move some middle-end files around (#2281) 2019-04-01 17:18:47 +01:00
augment_specialised_args.ml Move some middle-end files around (#2281) 2019-04-01 17:18:47 +01:00
augment_specialised_args.mli Warn about unused functor parameters (#8891) 2019-10-14 11:11:01 +01:00
build_export_info.ml Remove Const_pointer from Lambda and Clambda (#9585) 2020-06-02 11:19:20 +02:00
build_export_info.mli Move some middle-end files around (#2281) 2019-04-01 17:18:47 +01:00
closure_conversion.ml [refactoring] gives tailcall attributes a more standard structure 2020-06-08 15:39:50 +02:00
closure_conversion.mli Move some middle-end files around (#2281) 2019-04-01 17:18:47 +01:00
closure_conversion_aux.ml Replace Location.t with Lambda.scoped_location in Lambda code 2020-04-27 12:58:53 +01:00
closure_conversion_aux.mli Replace Location.t with Lambda.scoped_location in Lambda code 2020-04-27 12:58:53 +01:00
closure_offsets.ml Move some middle-end files around (#2281) 2019-04-01 17:18:47 +01:00
closure_offsets.mli Move some middle-end files around (#2281) 2019-04-01 17:18:47 +01:00
effect_analysis.ml Remove Misc.may_map and similar 2019-05-23 16:27:58 +01:00
effect_analysis.mli Move some middle-end files around (#2281) 2019-04-01 17:18:47 +01:00
export_info.ml Remove Const_pointer from Lambda and Clambda (#9585) 2020-06-02 11:19:20 +02:00
export_info.mli Remove Const_pointer from Lambda and Clambda (#9585) 2020-06-02 11:19:20 +02:00
export_info_for_pack.ml Remove Const_pointer from Lambda and Clambda (#9585) 2020-06-02 11:19:20 +02:00
export_info_for_pack.mli Move some middle-end files around (#2281) 2019-04-01 17:18:47 +01:00
extract_projections.ml Move some middle-end files around (#2281) 2019-04-01 17:18:47 +01:00
extract_projections.mli Move some middle-end files around (#2281) 2019-04-01 17:18:47 +01:00
find_recursive_functions.ml Move some middle-end files around (#2281) 2019-04-01 17:18:47 +01:00
find_recursive_functions.mli Move some middle-end files around (#2281) 2019-04-01 17:18:47 +01:00
flambda.ml Remove Const_pointer from Lambda and Clambda (#9585) 2020-06-02 11:19:20 +02:00
flambda.mli Remove Const_pointer from Lambda and Clambda (#9585) 2020-06-02 11:19:20 +02:00
flambda_invariants.ml Remove Misc.may_map and similar 2019-05-23 16:27:58 +01:00
flambda_invariants.mli Move some middle-end files around (#2281) 2019-04-01 17:18:47 +01:00
flambda_iterators.ml Remove Misc.may_map and similar 2019-05-23 16:27:58 +01:00
flambda_iterators.mli Move some middle-end files around (#2281) 2019-04-01 17:18:47 +01:00
flambda_middle_end.ml Add [@inlined hint] attribute 2020-04-16 15:58:03 +01:00
flambda_middle_end.mli Move some code from Asmgen to the middle end directory etc. (#2288) 2019-05-10 15:11:22 +02:00
flambda_to_clambda.ml Remove Const_pointer from Lambda and Clambda (#9585) 2020-06-02 11:19:20 +02:00
flambda_to_clambda.mli Move some code from Asmgen to the middle end directory etc. (#2288) 2019-05-10 15:11:22 +02:00
flambda_utils.ml Move some middle-end files around (#2281) 2019-04-01 17:18:47 +01:00
flambda_utils.mli Move some middle-end files around (#2281) 2019-04-01 17:18:47 +01:00
freshening.ml Move some middle-end files around (#2281) 2019-04-01 17:18:47 +01:00
freshening.mli Move some middle-end files around (#2281) 2019-04-01 17:18:47 +01:00
import_approx.ml Remove Const_pointer from Lambda and Clambda (#9585) 2020-06-02 11:19:20 +02:00
import_approx.mli Move some middle-end files around (#2281) 2019-04-01 17:18:47 +01:00
inconstant_idents.ml Remove Misc.may_map and similar 2019-05-23 16:27:58 +01:00
inconstant_idents.mli Move some middle-end files around (#2281) 2019-04-01 17:18:47 +01:00
initialize_symbol_to_let_symbol.ml Move some middle-end files around (#2281) 2019-04-01 17:18:47 +01:00
initialize_symbol_to_let_symbol.mli Move some middle-end files around (#2281) 2019-04-01 17:18:47 +01:00
inline_and_simplify.ml Remove Const_pointer from Lambda and Clambda (#9585) 2020-06-02 11:19:20 +02:00
inline_and_simplify.mli Move some middle-end files around (#2281) 2019-04-01 17:18:47 +01:00
inline_and_simplify_aux.ml Replace Location.t with Lambda.scoped_location in Lambda code 2020-04-27 12:58:53 +01:00
inline_and_simplify_aux.mli Move some middle-end files around (#2281) 2019-04-01 17:18:47 +01:00
inlining_cost.ml Remove Misc.may_map and similar 2019-05-23 16:27:58 +01:00
inlining_cost.mli Move some middle-end files around (#2281) 2019-04-01 17:18:47 +01:00
inlining_decision.ml Add [@inlined hint] attribute 2020-04-16 15:58:03 +01:00
inlining_decision.mli Move some middle-end files around (#2281) 2019-04-01 17:18:47 +01:00
inlining_decision_intf.mli Move some middle-end files around (#2281) 2019-04-01 17:18:47 +01:00
inlining_stats.ml Move some middle-end files around (#2281) 2019-04-01 17:18:47 +01:00
inlining_stats.mli Move some middle-end files around (#2281) 2019-04-01 17:18:47 +01:00
inlining_stats_types.ml Move some middle-end files around (#2281) 2019-04-01 17:18:47 +01:00
inlining_stats_types.mli Move some middle-end files around (#2281) 2019-04-01 17:18:47 +01:00
inlining_transforms.ml Merge pull request #8826 from glondu/4.08-spelling-errors 2019-07-29 08:36:53 +02:00
inlining_transforms.mli Move some middle-end files around (#2281) 2019-04-01 17:18:47 +01:00
invariant_params.ml Move some middle-end files around (#2281) 2019-04-01 17:18:47 +01:00
invariant_params.mli Move some middle-end files around (#2281) 2019-04-01 17:18:47 +01:00
lift_code.ml make check-typo happy 2019-09-10 10:58:34 +02:00
lift_code.mli Move some middle-end files around (#2281) 2019-04-01 17:18:47 +01:00
lift_constants.ml Move some middle-end files around (#2281) 2019-04-01 17:18:47 +01:00
lift_constants.mli Move some middle-end files around (#2281) 2019-04-01 17:18:47 +01:00
lift_let_to_initialize_symbol.ml Move some middle-end files around (#2281) 2019-04-01 17:18:47 +01:00
lift_let_to_initialize_symbol.mli Move some middle-end files around (#2281) 2019-04-01 17:18:47 +01:00
parameter.ml Move some middle-end files around (#2281) 2019-04-01 17:18:47 +01:00
parameter.mli Move some middle-end files around (#2281) 2019-04-01 17:18:47 +01:00
pass_wrapper.ml Move some middle-end files around (#2281) 2019-04-01 17:18:47 +01:00
pass_wrapper.mli Move some middle-end files around (#2281) 2019-04-01 17:18:47 +01:00
projection.ml Move some middle-end files around (#2281) 2019-04-01 17:18:47 +01:00
projection.mli Move some middle-end files around (#2281) 2019-04-01 17:18:47 +01:00
ref_to_variables.ml Remove Misc.may_map and similar 2019-05-23 16:27:58 +01:00
ref_to_variables.mli Move some middle-end files around (#2281) 2019-04-01 17:18:47 +01:00
remove_free_vars_equal_to_args.ml Move some middle-end files around (#2281) 2019-04-01 17:18:47 +01:00
remove_free_vars_equal_to_args.mli Move some middle-end files around (#2281) 2019-04-01 17:18:47 +01:00
remove_unused_arguments.ml Remove Const_pointer from Lambda and Clambda (#9585) 2020-06-02 11:19:20 +02:00
remove_unused_arguments.mli Move some middle-end files around (#2281) 2019-04-01 17:18:47 +01:00
remove_unused_closure_vars.ml Move some middle-end files around (#2281) 2019-04-01 17:18:47 +01:00
remove_unused_closure_vars.mli Move some middle-end files around (#2281) 2019-04-01 17:18:47 +01:00
remove_unused_program_constructs.ml Move some middle-end files around (#2281) 2019-04-01 17:18:47 +01:00
remove_unused_program_constructs.mli Move some middle-end files around (#2281) 2019-04-01 17:18:47 +01:00
share_constants.ml Move some middle-end files around (#2281) 2019-04-01 17:18:47 +01:00
share_constants.mli Move some middle-end files around (#2281) 2019-04-01 17:18:47 +01:00
simple_value_approx.ml Remove Const_pointer from Lambda and Clambda (#9585) 2020-06-02 11:19:20 +02:00
simple_value_approx.mli Remove Const_pointer from Lambda and Clambda (#9585) 2020-06-02 11:19:20 +02:00
simplify_boxed_integer_ops.ml Replace caml_int_compare and caml_float_compare with primitives (#2324) 2020-03-26 10:58:10 +01:00
simplify_boxed_integer_ops.mli Move some middle-end files around (#2281) 2019-04-01 17:18:47 +01:00
simplify_boxed_integer_ops_intf.mli Move some middle-end files around (#2281) 2019-04-01 17:18:47 +01:00
simplify_common.ml Remove Const_pointer from Lambda and Clambda (#9585) 2020-06-02 11:19:20 +02:00
simplify_common.mli Remove Const_pointer from Lambda and Clambda (#9585) 2020-06-02 11:19:20 +02:00
simplify_primitives.ml Remove Const_pointer from Lambda and Clambda (#9585) 2020-06-02 11:19:20 +02:00
simplify_primitives.mli Move some middle-end files around (#2281) 2019-04-01 17:18:47 +01:00
traverse_for_exported_symbols.ml Move some middle-end files around (#2281) 2019-04-01 17:18:47 +01:00
traverse_for_exported_symbols.mli Move some middle-end files around (#2281) 2019-04-01 17:18:47 +01:00
un_anf.ml Remove Misc.may_map and similar 2019-05-23 16:27:58 +01:00
un_anf.mli Move some code from Asmgen to the middle end directory etc. (#2288) 2019-05-10 15:11:22 +02:00
unbox_closures.ml Move some middle-end files around (#2281) 2019-04-01 17:18:47 +01:00
unbox_closures.mli Move some middle-end files around (#2281) 2019-04-01 17:18:47 +01:00
unbox_free_vars_of_closures.ml Move some middle-end files around (#2281) 2019-04-01 17:18:47 +01:00
unbox_free_vars_of_closures.mli Move some middle-end files around (#2281) 2019-04-01 17:18:47 +01:00
unbox_specialised_args.ml Map.filter_map and Set.filter_map 2020-03-31 15:01:41 +02:00
unbox_specialised_args.mli Move some middle-end files around (#2281) 2019-04-01 17:18:47 +01:00