diff --git a/juno_samples/cava/src/cpu.sch b/juno_samples/cava/src/cpu.sch index 5c5428ae2947d10bca292832e1f41f47cfad6508..246d10d496faa56f61628d970adffb9d355e2ebd 100644 --- a/juno_samples/cava/src/cpu.sch +++ b/juno_samples/cava/src/cpu.sch @@ -27,92 +27,92 @@ inline(fuse5); ip-sroa(*); sroa(*); -//simpl!(*); +simpl!(*); no-memset(fuse1@res1); no-memset(fuse1@res2); -//fixpoint { -// forkify(fuse1); -// fork-guard-elim(fuse1); -// fork-coalesce(fuse1); -//} -//simpl!(fuse1); -//array-slf(fuse1); -//simpl!(fuse1); -//unforkify(fuse1); +fixpoint { + forkify(fuse1); + fork-guard-elim(fuse1); + fork-coalesce(fuse1); +} +simpl!(fuse1); +array-slf(fuse1); +simpl!(fuse1); +unforkify(fuse1); inline(fuse2); no-memset(fuse2@res); no-memset(fuse2@filter); no-memset(fuse2@tmp); -//fixpoint { -// forkify(fuse2); -// fork-guard-elim(fuse2); -// fork-coalesce(fuse2); -//} -//simpl!(fuse2); -//predication(fuse2); -//simpl!(fuse2); -// -//let median = outline(fuse2@median); -//fork-unroll(median@medianOuter); -//simpl!(median); -//fixpoint { -// forkify(median); -// fork-guard-elim(median); -//} -//simpl!(median); -//fixpoint { -// fork-unroll(median); -//} -//ccp(median); -//array-to-product(median); -//sroa(median); -//predication(median); -//simpl!(median); -// -//inline(fuse2); -//ip-sroa(*); -//sroa(*); -//array-slf(fuse2); -//write-predication(fuse2); -//simpl!(fuse2); -//fork-split(fuse2); -//unforkify(fuse2); +fixpoint { + forkify(fuse2); + fork-guard-elim(fuse2); + fork-coalesce(fuse2); +} +simpl!(fuse2); +predication(fuse2); +simpl!(fuse2); + +let median = outline(fuse2@median); +fork-unroll(median@medianOuter); +simpl!(median); +fixpoint { + forkify(median); + fork-guard-elim(median); +} +simpl!(median); +fixpoint { + fork-unroll(median); +} +ccp(median); +array-to-product(median); +sroa(median); +predication(median); +simpl!(median); + +inline(fuse2); +ip-sroa(*); +sroa(*); +array-slf(fuse2); +write-predication(fuse2); +simpl!(fuse2); +fork-split(fuse2); +unforkify(fuse2); no-memset(fuse3@res); -//fixpoint { -// forkify(fuse3); -// fork-guard-elim(fuse3); -// fork-coalesce(fuse3); -//} -//simpl!(fuse3); -//fork-split(fuse3); -//unforkify(fuse3); +fixpoint { + forkify(fuse3); + fork-guard-elim(fuse3); + fork-coalesce(fuse3); +} +simpl!(fuse3); +fork-split(fuse3); +unforkify(fuse3); no-memset(fuse4@res); no-memset(fuse4@l2); -//fixpoint { -// forkify(fuse4); -// fork-guard-elim(fuse4); -// fork-coalesce(fuse4); -//} -//simpl!(fuse4); -//fork-split(fuse4); -//unforkify(fuse4); +fixpoint { + forkify(fuse4); + fork-guard-elim(fuse4); + fork-coalesce(fuse4); +} +simpl!(fuse4); +fork-split(fuse4); +unforkify(fuse4); no-memset(fuse5@res1); no-memset(fuse5@res2); -//fixpoint { -// forkify(fuse5); -// fork-guard-elim(fuse5); -// fork-coalesce(fuse5); -//} -//simpl!(fuse5); -//array-slf(fuse5); -//simpl!(fuse5); -//fork-split(fuse5); -//unforkify(fuse5); +fixpoint { + forkify(fuse5); + fork-guard-elim(fuse5); + fork-coalesce(fuse5); +} +simpl!(fuse5); +array-slf(fuse5); +simpl!(fuse5); +fork-split(fuse5); +unforkify(fuse5); simpl!(*); delete-uncalled(*);