Turn flambda invariants checks off by default (#1686)
parent
de6b8af8e2
commit
0a42259060
|
@ -56,11 +56,11 @@ EOF
|
|||
case $XARCH in
|
||||
x64)
|
||||
./configure --prefix $PREFIX -with-debug-runtime \
|
||||
-with-instrumented-runtime $CONFIG_ARG
|
||||
-with-instrumented-runtime -with-flambda-invariants $CONFIG_ARG
|
||||
;;
|
||||
i386)
|
||||
./configure --prefix $PREFIX -with-debug-runtime \
|
||||
-with-instrumented-runtime $CONFIG_ARG \
|
||||
-with-instrumented-runtime -with-flambda-invariants $CONFIG_ARG \
|
||||
-host i686-pc-linux-gnu
|
||||
;;
|
||||
*)
|
||||
|
|
3
Changes
3
Changes
|
@ -195,6 +195,9 @@ Working version
|
|||
* GPR#1617: Make string/bytes distinguishable in the bytecode.
|
||||
(Hugo Heuzard, reviewed by Nicolás Ojeda Bär)
|
||||
|
||||
- GPR#1686: Turn off by default flambda invariants checks.
|
||||
(Pierre Chambart)
|
||||
|
||||
### Runtime system:
|
||||
|
||||
- MPR#6411, GPR#1535: don't compile everything with -static-libgcc on mingw32,
|
||||
|
|
1
Makefile
1
Makefile
|
@ -333,6 +333,7 @@ utils/config.ml: utils/config.mlp config/Makefile Makefile
|
|||
$(call SUBST,EXT_LIB) \
|
||||
$(call SUBST,EXT_OBJ) \
|
||||
$(call SUBST,FLAMBDA) \
|
||||
$(call SUBST,WITH_FLAMBDA_INVARIANTS) \
|
||||
$(call SUBST,FLEXLINK_FLAGS) \
|
||||
$(call SUBST_QUOTE,FLEXDLL_DIR) \
|
||||
$(call SUBST,HOST) \
|
||||
|
|
|
@ -96,6 +96,7 @@ UNIX_OR_WIN32=win32
|
|||
UNIXLIB=win32unix
|
||||
GRAPHLIB=win32graph
|
||||
FLAMBDA=false
|
||||
WITH_FLAMBDA_INVARIANTS=false
|
||||
WITH_SPACETIME=false
|
||||
ENABLE_CALL_COUNTS=false
|
||||
WITH_PROFINFO=false
|
||||
|
|
|
@ -96,6 +96,7 @@ UNIX_OR_WIN32=win32
|
|||
UNIXLIB=win32unix
|
||||
GRAPHLIB=win32graph
|
||||
FLAMBDA=false
|
||||
WITH_FLAMBDA_INVARIANTS=false
|
||||
WITH_PROFINFO=false
|
||||
WITH_SPACETIME=false
|
||||
ENABLE_CALL_COUNTS=false
|
||||
|
|
|
@ -89,6 +89,7 @@ UNIX_OR_WIN32=win32
|
|||
UNIXLIB=win32unix
|
||||
GRAPHLIB=win32graph
|
||||
FLAMBDA=false
|
||||
WITH_FLAMBDA_INVARIANTS=false
|
||||
WITH_PROFINFO=false
|
||||
WITH_SPACETIME=false
|
||||
ENABLE_CALL_COUNTS=false
|
||||
|
|
|
@ -88,6 +88,7 @@ UNIX_OR_WIN32=win32
|
|||
UNIXLIB=win32unix
|
||||
GRAPHLIB=win32graph
|
||||
FLAMBDA=false
|
||||
WITH_FLAMBDA_INVARIANTS=false
|
||||
WITH_PROFINFO=false
|
||||
WITH_SPACETIME=false
|
||||
ENABLE_CALL_COUNTS=false
|
||||
|
|
|
@ -67,6 +67,7 @@ max_testsuite_dir_retries=0
|
|||
with_cplugins=false
|
||||
with_fpic=false
|
||||
flat_float_array=true
|
||||
with_flambda_invariants=false
|
||||
|
||||
# we distinguish '' (not set) from 'true' (explicitly set by the user)
|
||||
with_instrumented_runtime=''
|
||||
|
@ -210,6 +211,8 @@ while : ; do
|
|||
native_compiler=false;;
|
||||
-flambda|--flambda)
|
||||
flambda=true;;
|
||||
-with-flambda-invariants|--with-flambda-invariants)
|
||||
with_flambda_invariants=true;;
|
||||
-with-cplugins|--with-cplugins)
|
||||
with_cplugins=true;;
|
||||
-no-cplugins|--no-cplugins)
|
||||
|
@ -2132,6 +2135,7 @@ if [ "$ostype" = Cygwin ]; then
|
|||
config DIFF "diff -q --strip-trailing-cr"
|
||||
fi
|
||||
config FLAMBDA "$flambda"
|
||||
config WITH_FLAMBDA_INVARIANTS "$with_flambda_invariants"
|
||||
config FORCE_SAFE_STRING "$force_safe_string"
|
||||
config DEFAULT_SAFE_STRING "$default_safe_string"
|
||||
config WINDOWS_UNICODE "0"
|
||||
|
@ -2251,6 +2255,11 @@ else
|
|||
fi
|
||||
if test "$flambda" = "true"; then
|
||||
inf " using flambda middle-end . yes"
|
||||
if test "$with_flambda_invariants" = "true"; then
|
||||
inf " ... with flambda invariants checks . yes"
|
||||
else
|
||||
inf " ... with flambda invariants checks . no"
|
||||
fi
|
||||
else
|
||||
inf " using flambda middle-end . no"
|
||||
fi
|
||||
|
|
|
@ -645,6 +645,11 @@ let mk_drawflambda f =
|
|||
"-drawflambda", Arg.Unit f, " Print Flambda terms after closure conversion"
|
||||
;;
|
||||
|
||||
let mk_dflambda_invariants f =
|
||||
"-dflambda-invariants", Arg.Unit f, " Check Flambda invariants \
|
||||
around each pass"
|
||||
;;
|
||||
|
||||
let mk_dflambda_no_invariants f =
|
||||
"-dflambda-no-invariants", Arg.Unit f, " Do not Check Flambda invariants \
|
||||
around each pass"
|
||||
|
@ -941,6 +946,7 @@ module type Optcommon_options = sig
|
|||
val _clambda_checks : unit -> unit
|
||||
val _dflambda : unit -> unit
|
||||
val _drawflambda : unit -> unit
|
||||
val _dflambda_invariants : unit -> unit
|
||||
val _dflambda_no_invariants : unit -> unit
|
||||
val _dflambda_let : int -> unit
|
||||
val _dflambda_verbose : unit -> unit
|
||||
|
@ -1279,6 +1285,7 @@ struct
|
|||
mk_dclambda F._dclambda;
|
||||
mk_dflambda F._dflambda;
|
||||
mk_drawflambda F._drawflambda;
|
||||
mk_dflambda_invariants F._dflambda_invariants;
|
||||
mk_dflambda_no_invariants F._dflambda_no_invariants;
|
||||
mk_dflambda_let F._dflambda_let;
|
||||
mk_dflambda_verbose F._dflambda_verbose;
|
||||
|
|
|
@ -173,6 +173,7 @@ module type Optcommon_options = sig
|
|||
val _clambda_checks : unit -> unit
|
||||
val _dflambda : unit -> unit
|
||||
val _drawflambda : unit -> unit
|
||||
val _dflambda_invariants : unit -> unit
|
||||
val _dflambda_no_invariants : unit -> unit
|
||||
val _dflambda_let : int -> unit
|
||||
val _dflambda_verbose : unit -> unit
|
||||
|
|
|
@ -210,6 +210,7 @@ module Options = Main_args.Make_optcomp_options (struct
|
|||
let _dflambda_verbose () =
|
||||
set dump_flambda ();
|
||||
set dump_flambda_verbose ()
|
||||
let _dflambda_invariants = set flambda_invariant_checks
|
||||
let _dflambda_no_invariants = clear flambda_invariant_checks
|
||||
let _dcmm = set dump_cmm
|
||||
let _dsel = set dump_selection
|
||||
|
|
|
@ -201,7 +201,7 @@ case $configure in
|
|||
unix)
|
||||
confoptions="$confoptions -with-debug-runtime"
|
||||
if $flambda; then
|
||||
confoptions="$confoptions -flambda"
|
||||
confoptions="$confoptions -flambda -with-flambda-invariants"
|
||||
fi
|
||||
eval "./configure -prefix '$instdir' $confoptions"
|
||||
;;
|
||||
|
|
|
@ -157,6 +157,7 @@ module Options = Main_args.Make_optcomp_options (struct
|
|||
let _dclambda = option "-dclambda"
|
||||
let _drawflambda = option "-drawflambda"
|
||||
let _dflambda = option "-dflambda"
|
||||
let _dflambda_invariants = option "-dflambda-invariants"
|
||||
let _dflambda_no_invariants = option "-dflambda-no-invariants"
|
||||
let _dflambda_let stamp = option_with_int "-dflambda-let" stamp
|
||||
let _dflambda_verbose = option "-dflambda-verbose"
|
||||
|
|
|
@ -174,6 +174,7 @@ module Options = Main_args.Make_opttop_options (struct
|
|||
let _dflambda_verbose () =
|
||||
set dump_flambda ();
|
||||
set dump_flambda_verbose ()
|
||||
let _dflambda_invariants = set flambda_invariant_checks
|
||||
let _dflambda_no_invariants = clear flambda_invariant_checks
|
||||
let _labels = clear classic
|
||||
let _alias_deps = clear transparent_modules
|
||||
|
|
|
@ -135,7 +135,8 @@ let native_code = ref false (* set to true under ocamlopt *)
|
|||
let force_slash = ref false (* for ocamldep *)
|
||||
let clambda_checks = ref false (* -clambda-checks *)
|
||||
|
||||
let flambda_invariant_checks = ref true (* -flambda-invariants *)
|
||||
let flambda_invariant_checks =
|
||||
ref Config.with_flambda_invariants (* -flambda-(no-)invariants *)
|
||||
|
||||
let dont_write_files = ref false (* set to true under ocamldoc *)
|
||||
|
||||
|
|
|
@ -150,6 +150,8 @@ val profiling : bool
|
|||
|
||||
val flambda : bool
|
||||
(* Whether the compiler was configured for flambda *)
|
||||
val with_flambda_invariants : bool
|
||||
(* Whether the invariants checks for flambda are enabled *)
|
||||
|
||||
val spacetime : bool
|
||||
(* Whether the compiler was configured for Spacetime profiling *)
|
||||
|
|
|
@ -73,6 +73,7 @@ let mkdll, mkexe, mkmaindll =
|
|||
|
||||
let profiling = %%PROFILING%%
|
||||
let flambda = %%FLAMBDA%%
|
||||
let with_flambda_invariants = %%WITH_FLAMBDA_INVARIANTS%%
|
||||
let safe_string = %%FORCE_SAFE_STRING%%
|
||||
let default_safe_string = %%DEFAULT_SAFE_STRING%%
|
||||
let windows_unicode = %%WINDOWS_UNICODE%% != 0
|
||||
|
|
Loading…
Reference in New Issue