aboutsummaryrefslogtreecommitdiffstats
path: root/tools/compiler_expand.ml
diff options
context:
space:
mode:
Diffstat (limited to 'tools/compiler_expand.ml')
-rw-r--r--tools/compiler_expand.ml8
1 files changed, 8 insertions, 0 deletions
diff --git a/tools/compiler_expand.ml b/tools/compiler_expand.ml
index 9fbc2924..c6bb88a5 100644
--- a/tools/compiler_expand.ml
+++ b/tools/compiler_expand.ml
@@ -73,6 +73,14 @@ let post_rtl_passes =
PARTIAL, Always, Require, (Some "RTLpath generation"), "RTLpathLivegen", Noprint;
PARTIAL, Always, Require, (Some "Prepass scheduling"), "RTLpathScheduler", Noprint;
TOTAL, Always, Require, (Some "Projection to RTL"), "RTLpath", (Print (Printf.sprintf "RTL %d" ((Array.length rtl_passes) + 1)));
+
+ (* Run CSE3 again, in case code is moved up again *)
+ TOTAL, Always, NoRequire, (Some "Renumbering pre CSE"), "Renumber", Noprint;
+ PARTIAL, (Option "optim_CSE3"), Require, (Some "CSE3"), "CSE3", Noprint;
+ TOTAL, (Option "optim_CSE3"), Require, (Some "Kill useless moves after CSE3"), "KillUselessMoves", Noprint;
+ TOTAL, (Option "optim_forward_moves"), Require, (Some "Forwarding moves"), "ForwardMoves", Noprint;
+ PARTIAL, (Option "optim_redundancy"), Require, (Some "Redundancy elimination"), "Deadcode", Noprint;
+
PARTIAL, Always, Require, (Some "Register allocation"), "Allocation", (Print "LTL 1");
PARTIAL, Always, Require, (Some "LTL Branch tunneling"), "LTLTunneling", (Print "LTL 2");
PARTIAL, Always, Require, (Some "CFG linearization"), "Linearize", Noprint;