summaryrefslogtreecommitdiff
path: root/driver
diff options
context:
space:
mode:
authorVincent Laviron <vincent.laviron@gmail.com>2017-10-04 18:31:27 +0200
committerVincent Laviron <vincent.laviron@gmail.com>2021-04-19 10:43:06 +0200
commit9b2c6345137fd8043f34390ca8133356fa509edc (patch)
tree16e4628f4376a48deffa2fb48a2a8ae3b780d326 /driver
parentd12738a234913f89a2a850186d4135b6651d0db1 (diff)
downloadocaml-9b2c6345137fd8043f34390ca8133356fa509edc.tar.gz
Add an optional check for invariants on the Cmm representation
Diffstat (limited to 'driver')
-rw-r--r--driver/main_args.ml8
-rw-r--r--driver/main_args.mli1
2 files changed, 9 insertions, 0 deletions
diff --git a/driver/main_args.ml b/driver/main_args.ml
index eeb4fd6b5e..f75330b122 100644
--- a/driver/main_args.ml
+++ b/driver/main_args.ml
@@ -779,6 +779,10 @@ let mk_dcamlprimc f =
"-dcamlprimc", Arg.Unit f, " (undocumented)"
;;
+let mk_dcmm_invariants f =
+ "-dcmm-invariants", Arg.Unit f, " Extra sanity checks on Cmm"
+;;
+
let mk_dcmm f =
"-dcmm", Arg.Unit f, " (undocumented)"
;;
@@ -1087,6 +1091,7 @@ module type Optcommon_options = sig
val _dflambda_verbose : unit -> unit
val _drawclambda : unit -> unit
val _dclambda : unit -> unit
+ val _dcmm_invariants : unit -> unit
val _dcmm : unit -> unit
val _dsel : unit -> unit
val _dcombine : unit -> unit
@@ -1445,6 +1450,7 @@ struct
mk_dlambda F._dlambda;
mk_drawclambda F._drawclambda;
mk_dclambda F._dclambda;
+ mk_dcmm_invariants F._dcmm_invariants;
mk_dflambda F._dflambda;
mk_drawflambda F._drawflambda;
mk_dflambda_invariants F._dflambda_invariants;
@@ -1555,6 +1561,7 @@ module Make_opttop_options (F : Opttop_options) = struct
mk_drawlambda F._drawlambda;
mk_drawclambda F._drawclambda;
mk_dclambda F._dclambda;
+ mk_dcmm_invariants F._dcmm_invariants;
mk_drawflambda F._drawflambda;
mk_dflambda F._dflambda;
mk_dcmm F._dcmm;
@@ -1739,6 +1746,7 @@ module Default = struct
let _davail () = dump_avail := true
let _dclambda = set dump_clambda
let _dcmm = set dump_cmm
+ let _dcmm_invariants = set cmm_invariants
let _dcombine = set dump_combine
let _dcse = set dump_cse
let _dflambda = set dump_flambda
diff --git a/driver/main_args.mli b/driver/main_args.mli
index 27fb475ae0..c45fd076d2 100644
--- a/driver/main_args.mli
+++ b/driver/main_args.mli
@@ -203,6 +203,7 @@ module type Optcommon_options = sig
val _dflambda_verbose : unit -> unit
val _drawclambda : unit -> unit
val _dclambda : unit -> unit
+ val _dcmm_invariants : unit -> unit
val _dcmm : unit -> unit
val _dsel : unit -> unit
val _dcombine : unit -> unit