Skip to content

Commit e28e663

Browse files
authored
feat: new constant propagation passes (#1369)
1 parent dc0d5d5 commit e28e663

File tree

2 files changed

+31
-12
lines changed

2 files changed

+31
-12
lines changed

Project.toml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
name = "Reactant"
22
uuid = "3c362404-f566-11ee-1572-e11a4b42c853"
33
authors = ["William Moses <[email protected]>", "Valentin Churavy <[email protected]>", "Sergio Sánchez Ramírez <[email protected]>", "Paul Berg <[email protected]>", "Avik Pal <[email protected]>", "Mosè Giordano <[email protected]>"]
4-
version = "0.2.126"
4+
version = "0.2.127"
55

66
[deps]
77
Adapt = "79e6a3ab-5dfb-504d-930d-738a2a938a0e"
@@ -90,7 +90,7 @@ PythonCall = "0.9"
9090
Random = "1.10"
9191
Random123 = "1.7"
9292
ReactantCore = "0.1.11"
93-
Reactant_jll = "0.0.195"
93+
Reactant_jll = "0.0.196"
9494
ScopedValues = "1.3.0"
9595
Scratch = "1.2"
9696
Sockets = "1.10"

src/Compiler.jl

Lines changed: 29 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -750,17 +750,13 @@ function optimization_passes(;
750750
"min_simplify<16>",
751751
"or_simplify<16>",
752752
"xor_simplify<16>",
753-
"negate_simplify<16>",
754753
"mul_simplify<16>",
755754
"div_simplify<16>",
756755
"rem_simplify<16>",
757756
"pow_simplify<16>",
758757
"simplify_extend<16>",
759758
"simplify_wrap<16>",
760759
"simplify_rotate<16>",
761-
"sqrt_simplify<16>",
762-
"cos_simplify<16>",
763-
"sin_simplify<16>",
764760
"noop_slice<16>",
765761
"noop_reverse<16>",
766762
"slice_slice<16>",
@@ -769,8 +765,6 @@ function optimization_passes(;
769765
"select_pad_to_dus<1>",
770766
"and_pad_pad<1>",
771767
"negative_pad_to_slice<16>",
772-
"tanh_simplify<16>",
773-
"exp_simplify<16>",
774768
"slice_simplify<16>",
775769
"convert_simplify<16>",
776770
"dynamic_slice_to_static<16>",
@@ -938,17 +932,14 @@ function optimization_passes(;
938932
append!(
939933
transform_passes_list,
940934
[
935+
# unary constant propagation
941936
"chlo_inf_const_prop<16>",
942937
"gamma_const_prop<16>",
943938
"abs_const_prop<16>",
944-
"const_prop_through_barrier<16>",
945-
"concat_const_prop<1>($max_constant_threshold)",
946-
"dynamic_update_slice_const_prop($max_constant_threshold)",
947939
"log_const_prop<1>",
948940
"log_plus_one_const_prop<1>",
949941
"is_finite_const_prop",
950942
"not_const_prop",
951-
"scatter_update_computation_const_prop",
952943
"neg_const_prop",
953944
"sqrt_const_prop",
954945
"rsqrt_const_prop",
@@ -959,6 +950,34 @@ function optimization_passes(;
959950
"tanh_const_prop",
960951
"logistic_const_prop",
961952
"conj_const_prop",
953+
"ceil_const_prop",
954+
"cbrt_const_prop",
955+
"real_const_prop",
956+
"imag_const_prop",
957+
"round_const_prop",
958+
"round_nearest_even_const_prop",
959+
"sign_const_prop",
960+
"floor_const_prop",
961+
"tan_const_prop",
962+
# binary constant propagation
963+
"add_const_prop",
964+
"and_const_prop",
965+
"atan2_const_prop",
966+
"complex_const_prop",
967+
"div_const_prop",
968+
"max_const_prop",
969+
"min_const_prop",
970+
"mul_const_prop",
971+
"or_const_prop",
972+
"pow_const_prop",
973+
"rem_const_prop",
974+
"sub_const_prop",
975+
"xor_const_prop",
976+
# other constant propagations
977+
"const_prop_through_barrier<16>",
978+
"concat_const_prop<1>($max_constant_threshold)",
979+
"dynamic_update_slice_const_prop($max_constant_threshold)",
980+
"scatter_update_computation_const_prop",
962981
],
963982
)
964983

0 commit comments

Comments
 (0)