@@ -105,33 +105,18 @@ end
105
105
106
106
let cse_with_eligible_lhs ~typing_env_at_fork ~cse_at_each_use ~params prev_cse
107
107
(extra_bindings : EPA.t ) extra_equations =
108
- let params_set =
109
- List. map params ~f: Bound_parameter. name |> Name.Set. of_list
110
- in
111
- let params = List. map params ~f: Bound_parameter. simple in
108
+ let params = List. map params ~f: Bound_parameter. name |> Name.Set. of_list in
112
109
let is_param simple =
113
110
Simple. pattern_match simple
114
- ~name: (fun name ~coercion :_ -> Name.Set. mem name params_set )
111
+ ~name: (fun name ~coercion :_ -> Name.Set. mem name params )
115
112
~const: (fun _ -> false )
116
113
in
117
114
List. fold_left cse_at_each_use ~init: EP.Map. empty
118
115
~f: (fun eligible (env_at_use , id , cse ) ->
119
116
let find_new_name =
120
- let find_param simple params =
121
- List. find_opt
122
- ~f: (fun param ->
123
- match
124
- TE. get_canonical_simple_exn env_at_use param
125
- ~min_name_mode: NM. normal
126
- ~name_mode_of_existing_simple: NM. normal
127
- with
128
- | exception Not_found -> false
129
- | arg -> Simple. equal arg simple)
130
- params
131
- in
132
117
match (extra_bindings : EPA.t ) with
133
- | Empty -> fun arg -> find_param arg params
134
- | Non_empty { extra_args; extra_params } -> (
118
+ | Empty -> fun _arg -> None
119
+ | Non_empty { extra_args; extra_params } ->
135
120
let extra_args = RI.Map. find id extra_args in
136
121
let rec find_name simple params args =
137
122
match args, params with
@@ -152,10 +137,7 @@ let cse_with_eligible_lhs ~typing_env_at_fork ~cse_at_each_use ~params prev_cse
152
137
find_name simple params args)
153
138
in
154
139
fun arg ->
155
- match find_param arg params with
156
- | None ->
157
- find_name arg (Bound_parameters. to_list extra_params) extra_args
158
- | Some _ as r -> r)
140
+ find_name arg (Bound_parameters. to_list extra_params) extra_args
159
141
in
160
142
EP.Map. fold
161
143
(fun prim bound_to eligible ->
0 commit comments