From ed97120db84bb4b3834741ff572e0597618a3af6 Mon Sep 17 00:00:00 2001
From: rarbore2 <rarbore2@illinois.edu>
Date: Wed, 5 Mar 2025 17:45:15 -0600
Subject: [PATCH] More opts

---
 juno_samples/rodinia/cfd/src/cpu_euler.sch     |  5 +++++
 juno_samples/rodinia/cfd/src/cpu_pre_euler.sch |  5 +++++
 juno_samples/rodinia/srad/src/cpu.sch          | 16 +++++++++++++++-
 3 files changed, 25 insertions(+), 1 deletion(-)

diff --git a/juno_samples/rodinia/cfd/src/cpu_euler.sch b/juno_samples/rodinia/cfd/src/cpu_euler.sch
index 13125961..d9d3eb8c 100644
--- a/juno_samples/rodinia/cfd/src/cpu_euler.sch
+++ b/juno_samples/rodinia/cfd/src/cpu_euler.sch
@@ -57,5 +57,10 @@ if !feature("seq") {
   copy_vars = copy_vars_body;
 }
 
+const-inline[false](*);
+simpl!(*);
+fork-split(compute_step_factor, compute_flux, time_step, copy_vars);
 unforkify(compute_step_factor, compute_flux, time_step, copy_vars);
+simpl!(*);
+
 gcm(*);
diff --git a/juno_samples/rodinia/cfd/src/cpu_pre_euler.sch b/juno_samples/rodinia/cfd/src/cpu_pre_euler.sch
index 858be5ba..3acee55b 100644
--- a/juno_samples/rodinia/cfd/src/cpu_pre_euler.sch
+++ b/juno_samples/rodinia/cfd/src/cpu_pre_euler.sch
@@ -64,5 +64,10 @@ if !feature("seq") {
   copy_vars = copy_vars_body;
 }
 
+const-inline[false](*);
+simpl!(*);
+fork-split(compute_step_factor, compute_flux_contributions, compute_flux, time_step, copy_vars);
 unforkify(compute_step_factor, compute_flux_contributions, compute_flux, time_step, copy_vars);
+simpl!(*);
+
 gcm(*);
diff --git a/juno_samples/rodinia/srad/src/cpu.sch b/juno_samples/rodinia/srad/src/cpu.sch
index 8fa22aaa..5487355d 100644
--- a/juno_samples/rodinia/srad/src/cpu.sch
+++ b/juno_samples/rodinia/srad/src/cpu.sch
@@ -28,14 +28,28 @@ fixpoint {
   fork-guard-elim(*);
   fork-coalesce(*);
 }
+fork-dim-merge(loop1);
 simpl!(*);
-fork-interchange[0, 1](loop1);
 reduce-slf(*);
 simpl!(*);
 slf(*);
 simpl!(*);
 
 if !feature("seq") {
+  fork-tile[32, 0, false, false](loop1);
+  simpl!(loop1);
+  let split = fork-split(loop1);
+  simpl!(loop1);
+  clean-monoid-reduces(loop1);
+  let loop1_body = outline(split.srad_0.fj1);
+  simpl!(loop1, loop1_body);
+  unforkify(loop1_body);
+  let fission = fork-fission[split.srad_0.fj0](loop1);
+  simpl!(loop1, loop1_body);
+  unforkify(fission.srad_0.fj_bottom);
+  simpl!(loop1, loop1_body);
+  loop1 = loop1_body;
+
   fork-tile[32, 0, false, false](loop2);
   let split = fork-split(loop2);
   let loop2_body = outline(split.srad_1.fj1);
-- 
GitLab