aboutsummaryrefslogtreecommitdiff
path: root/src/boot/driver
diff options
context:
space:
mode:
authorGraydon Hoare <[email protected]>2010-09-16 16:50:41 -0700
committerGraydon Hoare <[email protected]>2010-09-16 16:59:37 -0700
commit5536af3d48da5176bf4b473b54cb6b060c6eee68 (patch)
tree343f56056661cb5bab5f3f291238ed74b0d4dac4 /src/boot/driver
parentCheck for infinitely sized tags. Un-XFAIL test/compile-fail/infinite-tag-type... (diff)
downloadrust-5536af3d48da5176bf4b473b54cb6b060c6eee68.tar.xz
rust-5536af3d48da5176bf4b473b54cb6b060c6eee68.zip
Beginnings of post-resolve simplify pass.
Diffstat (limited to 'src/boot/driver')
-rw-r--r--src/boot/driver/llvm/glue.ml1
-rw-r--r--src/boot/driver/main.ml4
-rw-r--r--src/boot/driver/session.ml1
3 files changed, 6 insertions, 0 deletions
diff --git a/src/boot/driver/llvm/glue.ml b/src/boot/driver/llvm/glue.ml
index 30fce0cd..03baf04d 100644
--- a/src/boot/driver/llvm/glue.ml
+++ b/src/boot/driver/llvm/glue.ml
@@ -15,6 +15,7 @@ let alt_pipeline sess sem_cx crate =
Array.iter process
[|
Resolve.process_crate;
+ Simplify.process_crate;
Type.process_crate;
Typestate.process_crate;
Effect.process_crate;
diff --git a/src/boot/driver/main.ml b/src/boot/driver/main.ml
index 32c70be6..e80e7682 100644
--- a/src/boot/driver/main.ml
+++ b/src/boot/driver/main.ml
@@ -34,6 +34,7 @@ let (sess:Session.sess) =
Session.sess_log_ast = false;
Session.sess_log_resolve = false;
Session.sess_log_type = false;
+ Session.sess_log_simplify = false;
Session.sess_log_effect = false;
Session.sess_log_typestate = false;
Session.sess_log_loop = false;
@@ -162,6 +163,8 @@ let argspecs =
"-lresolve" "log resolution");
(flag (fun _ -> sess.Session.sess_log_type <- true)
"-ltype" "log type checking");
+ (flag (fun _ -> sess.Session.sess_log_simplify <- true)
+ "-lsimplify" "log simplification");
(flag (fun _ -> sess.Session.sess_log_effect <- true)
"-leffect" "log effect checking");
(flag (fun _ -> sess.Session.sess_log_typestate <- true)
@@ -352,6 +355,7 @@ let main_pipeline _ =
proc sem_cx crate;
exit_if_failed ())
[| Resolve.process_crate;
+ Simplify.process_crate;
Type.process_crate;
Typestate.process_crate;
Effect.process_crate;
diff --git a/src/boot/driver/session.ml b/src/boot/driver/session.ml
index beb551bb..2f81e4f5 100644
--- a/src/boot/driver/session.ml
+++ b/src/boot/driver/session.ml
@@ -20,6 +20,7 @@ type sess =
mutable sess_log_ast: bool;
mutable sess_log_resolve: bool;
mutable sess_log_type: bool;
+ mutable sess_log_simplify: bool;
mutable sess_log_effect: bool;
mutable sess_log_typestate: bool;
mutable sess_log_dead: bool;