Remove_unused_arguments
val separate_unused_arguments_in_closures :
Flambda.program ->
backend:(module Backend_intf.S) ->
Flambda.program
Introduce a stub function to avoid depending on unused arguments.
For instance, it turns let rec fact n unused =
if n = 0 then 1
else n * fact (n-1) unused
into let rec fact' n =
if n = 0 then 1
else n * fact' (n-1)
and fact n unused = fact' n
val separate_unused_arguments_in_set_of_closures :
Flambda.set_of_closures ->
backend:(module Backend_intf.S) ->
Flambda.set_of_closures option