diff options
author | bonzini <bonzini@138bc75d-0d04-0410-961f-82ee72b054a4> | 2007-06-14 07:51:58 +0000 |
---|---|---|
committer | bonzini <bonzini@138bc75d-0d04-0410-961f-82ee72b054a4> | 2007-06-14 07:51:58 +0000 |
commit | 5ccba2dcac8662892046f87b155676e2bde2a531 (patch) | |
tree | 56353f3485cfb67af89ae4262894376f50a8e2c7 /gcc | |
parent | c3e2d63e610d3b656592d3a600f5d0c105824589 (diff) | |
download | gcc-5ccba2dcac8662892046f87b155676e2bde2a531.tar.gz |
2007-06-14 Paolo Bonzini <bonzini@gnu.org>
* configure.ac: Add --enable-checking=df. Explicitly mention that
the variables are initialized as for "release".
* df-core.c: Use it.
* configure: Regenerate.
* config.in: Regenerate.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@125698 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/config.in | 11 | ||||
-rwxr-xr-x | gcc/configure | 32 | ||||
-rw-r--r-- | gcc/configure.ac | 27 | ||||
-rw-r--r-- | gcc/df-core.c | 13 |
4 files changed, 42 insertions, 41 deletions
diff --git a/gcc/config.in b/gcc/config.in index 7864d8c066f..22f9685887d 100644 --- a/gcc/config.in +++ b/gcc/config.in @@ -46,15 +46,22 @@ #endif +/* Define to 1 to specify that we are using the BID decimal floating point + format instead of DPD */ +#ifndef USED_FOR_TARGET +#undef ENABLE_DECIMAL_BID_FORMAT +#endif + + /* Define to 1 to enable decimal float extension to C. */ #ifndef USED_FOR_TARGET #undef ENABLE_DECIMAL_FLOAT #endif -/* Define to 1 to say we are using the BID decimal format */ +/* Define if you want more run-time sanity checks for dataflow. */ #ifndef USED_FOR_TARGET -#undef ENABLE_DECIMAL_BID_FORMAT +#undef ENABLE_DF_CHECKING #endif diff --git a/gcc/configure b/gcc/configure index a11f6755cb4..2b435d4d49c 100755 --- a/gcc/configure +++ b/gcc/configure @@ -867,7 +867,7 @@ Optional Features: enable expensive run-time checks. With LIST, enable only specific categories of checks. Categories are: yes,no,all,none,release. - Flags are: assert,fold,gc,gcac,misc, + Flags are: assert,df,fold,gc,gcac,misc, rtlflag,rtl,runtime,tree,valgrind. --enable-mapped-location location_t is fileline integer cookie --enable-coverage=LEVEL @@ -6474,43 +6474,34 @@ else ac_checking_flags=release fi fi; -ac_assert_checking=1 -ac_checking= -ac_fold_checking= -ac_gc_checking= -ac_gc_always_collect= -ac_rtl_checking= -ac_rtlflag_checking= -ac_runtime_checking=1 -ac_tree_checking= -ac_valgrind_checking= IFS="${IFS= }"; ac_save_IFS="$IFS"; IFS="$IFS," -for check in $ac_checking_flags +for check in release,$ac_checking_flags do case $check in # these set all the flags to specific states - yes) ac_assert_checking=1 ; ac_checking=1 ; + yes) ac_assert_checking=1 ; ac_checking=1 ; ac_df_checking=1 ; ac_fold_checking= ; ac_gc_checking=1 ; ac_gc_always_collect= ; ac_rtl_checking= ; ac_rtlflag_checking=1 ; ac_runtime_checking=1 ; ac_tree_checking=1 ; ac_valgrind_checking= ;; - no|none) ac_assert_checking= ; ac_checking= ; + no|none) ac_assert_checking= ; ac_checking= ; ac_df_checking= ; ac_fold_checking= ; ac_gc_checking= ; ac_gc_always_collect= ; ac_rtl_checking= ; ac_rtlflag_checking= ; ac_runtime_checking= ; ac_tree_checking= ; ac_valgrind_checking= ;; - all) ac_assert_checking=1 ; ac_checking=1 ; + all) ac_assert_checking=1 ; ac_checking=1 ; ac_df_checking=1 ; ac_fold_checking=1 ; ac_gc_checking=1 ; ac_gc_always_collect=1 ; ac_rtl_checking=1 ; ac_rtlflag_checking=1 ; ac_runtime_checking=1 ; ac_tree_checking=1 ; ac_valgrind_checking= ;; - release) ac_assert_checking=1 ; ac_checking= ; + release) ac_assert_checking=1 ; ac_checking= ; ac_df_checking= ; ac_fold_checking= ; ac_gc_checking= ; ac_gc_always_collect= ; ac_rtl_checking= ; ac_rtlflag_checking= ; ac_runtime_checking=1 ; ac_tree_checking= ; ac_valgrind_checking= ;; # these enable particular checks assert) ac_assert_checking=1 ;; + df) ac_df_checking=1 ;; fold) ac_fold_checking=1 ;; gc) ac_gc_checking=1 ;; gcac) ac_gc_always_collect=1 ;; @@ -6536,6 +6527,13 @@ _ACEOF nocommon_flag=-fno-common fi +if test x$ac_df_checking != x ; then + +cat >>confdefs.h <<\_ACEOF +#define ENABLE_DF_CHECKING 1 +_ACEOF + +fi if test x$ac_assert_checking != x ; then @@ -7675,7 +7673,7 @@ if test "${gcc_cv_prog_makeinfo_modern+set}" = set; then else ac_prog_version=`$MAKEINFO --version 2>&1 | sed -n 's/^.*GNU texinfo.* \([0-9][0-9.]*\).*$/\1/p'` - echo "configure:7678: version of makeinfo is $ac_prog_version" >&5 + echo "configure:7676: version of makeinfo is $ac_prog_version" >&5 case $ac_prog_version in '') gcc_cv_prog_makeinfo_modern=no;; 4.[4-9]*) diff --git a/gcc/configure.ac b/gcc/configure.ac index 295b8e78054..0f13e99fd40 100644 --- a/gcc/configure.ac +++ b/gcc/configure.ac @@ -435,7 +435,7 @@ AC_ARG_ENABLE(checking, enable expensive run-time checks. With LIST, enable only specific categories of checks. Categories are: yes,no,all,none,release. - Flags are: assert,fold,gc,gcac,misc, + Flags are: assert,df,fold,gc,gcac,misc, rtlflag,rtl,runtime,tree,valgrind.], [ac_checking_flags="${enableval}"],[ # Determine the default checks. @@ -444,43 +444,34 @@ if test x$is_release = x ; then else ac_checking_flags=release fi]) -ac_assert_checking=1 -ac_checking= -ac_fold_checking= -ac_gc_checking= -ac_gc_always_collect= -ac_rtl_checking= -ac_rtlflag_checking= -ac_runtime_checking=1 -ac_tree_checking= -ac_valgrind_checking= IFS="${IFS= }"; ac_save_IFS="$IFS"; IFS="$IFS," -for check in $ac_checking_flags +for check in release,$ac_checking_flags do case $check in # these set all the flags to specific states - yes) ac_assert_checking=1 ; ac_checking=1 ; + yes) ac_assert_checking=1 ; ac_checking=1 ; ac_df_checking=1 ; ac_fold_checking= ; ac_gc_checking=1 ; ac_gc_always_collect= ; ac_rtl_checking= ; ac_rtlflag_checking=1 ; ac_runtime_checking=1 ; ac_tree_checking=1 ; ac_valgrind_checking= ;; - no|none) ac_assert_checking= ; ac_checking= ; + no|none) ac_assert_checking= ; ac_checking= ; ac_df_checking= ; ac_fold_checking= ; ac_gc_checking= ; ac_gc_always_collect= ; ac_rtl_checking= ; ac_rtlflag_checking= ; ac_runtime_checking= ; ac_tree_checking= ; ac_valgrind_checking= ;; - all) ac_assert_checking=1 ; ac_checking=1 ; + all) ac_assert_checking=1 ; ac_checking=1 ; ac_df_checking=1 ; ac_fold_checking=1 ; ac_gc_checking=1 ; ac_gc_always_collect=1 ; ac_rtl_checking=1 ; ac_rtlflag_checking=1 ; ac_runtime_checking=1 ; ac_tree_checking=1 ; ac_valgrind_checking= ;; - release) ac_assert_checking=1 ; ac_checking= ; + release) ac_assert_checking=1 ; ac_checking= ; ac_df_checking= ; ac_fold_checking= ; ac_gc_checking= ; ac_gc_always_collect= ; ac_rtl_checking= ; ac_rtlflag_checking= ; ac_runtime_checking=1 ; ac_tree_checking= ; ac_valgrind_checking= ;; # these enable particular checks assert) ac_assert_checking=1 ;; + df) ac_df_checking=1 ;; fold) ac_fold_checking=1 ;; gc) ac_gc_checking=1 ;; gcac) ac_gc_always_collect=1 ;; @@ -503,6 +494,10 @@ if test x$ac_checking != x ; then nocommon_flag=-fno-common fi AC_SUBST(nocommon_flag) +if test x$ac_df_checking != x ; then + AC_DEFINE(ENABLE_DF_CHECKING, 1, +[Define if you want more run-time sanity checks for dataflow.]) +fi if test x$ac_assert_checking != x ; then AC_DEFINE(ENABLE_ASSERT_CHECKING, 1, [Define if you want assertions enabled. This is a cheap check.]) diff --git a/gcc/df-core.c b/gcc/df-core.c index 68f6c5076e1..67a4040d50e 100644 --- a/gcc/df-core.c +++ b/gcc/df-core.c @@ -644,7 +644,7 @@ df_finish_pass (void) int i; int removed = 0; -#ifdef ENABLE_CHECKING +#ifdef ENABLE_DF_CHECKING enum df_changeable_flags saved_flags; #endif @@ -654,7 +654,7 @@ df_finish_pass (void) df_maybe_reorganize_def_refs (DF_REF_ORDER_NO_TABLE); df_maybe_reorganize_use_refs (DF_REF_ORDER_NO_TABLE); -#ifdef ENABLE_CHECKING +#ifdef ENABLE_DF_CHECKING saved_flags = df->changeable_flags; #endif @@ -684,7 +684,7 @@ df_finish_pass (void) df->analyze_subset = false; } -#ifdef ENABLE_CHECKING +#ifdef ENABLE_DF_CHECKING /* Verification will fail in DF_NO_INSN_RESCAN. */ if (!(saved_flags & DF_NO_INSN_RESCAN)) { @@ -1040,7 +1040,7 @@ df_analyze_problem (struct dataflow *dflow, { timevar_push (dflow->problem->tv_id); -#ifdef ENABLE_CHECKING +#ifdef ENABLE_DF_CHECKING if (dflow->problem->verify_start_fun) dflow->problem->verify_start_fun (); #endif @@ -1062,7 +1062,7 @@ df_analyze_problem (struct dataflow *dflow, if (dflow->problem->finalize_fun) dflow->problem->finalize_fun (blocks_to_consider); -#ifdef ENABLE_CHECKING +#ifdef ENABLE_DF_CHECKING if (dflow->problem->verify_end_fun) dflow->problem->verify_end_fun (); #endif @@ -1100,9 +1100,10 @@ df_analyze (void) df_compute_regs_ever_live (false); df_process_deferred_rescans (); -#ifdef ENABLE_CHECKING if (dump_file) fprintf (dump_file, "df_analyze called\n"); + +#ifdef ENABLE_DF_CHECKING df_verify (); #endif |