File tree Expand file tree Collapse file tree 1 file changed +10
-1
lines changed
middle_end/flambda/simplify Expand file tree Collapse file tree 1 file changed +10
-1
lines changed Original file line number Diff line number Diff line change @@ -349,11 +349,20 @@ module Simplify_int_conv_naked_int64 = Make_simplify_int_conv (A.For_int64s)
349349module Simplify_int_conv_naked_nativeint =
350350 Make_simplify_int_conv (A. For_nativeints )
351351
352- let simplify_boolean_not dacc ~original_term ~arg : _ ~arg_ty ~result_var =
352+ let simplify_boolean_not dacc ~original_term ~arg ~arg_ty ~result_var =
353353 let result = Name. var (Var_in_binding_pos. var result_var) in
354354 let denv = DA. denv dacc in
355355 let typing_env = DE. typing_env denv in
356356 let proof = T. prove_equals_tagged_immediates typing_env arg_ty in
357+ let dacc =
358+ DA. map_denv dacc ~f: (fun denv ->
359+ let prim : P.t =
360+ Unary (Boolean_not ,
361+ Simple. var (Var_in_binding_pos. var result_var))
362+ in
363+ DE. add_cse denv (P.Eligible_for_cse. create_exn prim)
364+ ~bound_to: arg)
365+ in
357366 let result_unknown () =
358367 let ty = T. unknown K. value in
359368 let env_extension = TEE. one_equation result ty in
You can’t perform that action at this time.
0 commit comments