aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorPaolo Bonzini <bonzini@gcc.gnu.org>2007-06-14 07:51:58 +0000
committerPaolo Bonzini <bonzini@gcc.gnu.org>2007-06-14 07:51:58 +0000
commit3089f8b5a1edb1e6233edb1bf34edcae5943aa00 (patch)
tree56353f3485cfb67af89ae4262894376f50a8e2c7 /gcc
parent20dca97bbdf6cc9319e32c5731c7df2faf1427b3 (diff)
downloadgcc-3089f8b5a1edb1e6233edb1bf34edcae5943aa00.zip
gcc-3089f8b5a1edb1e6233edb1bf34edcae5943aa00.tar.gz
gcc-3089f8b5a1edb1e6233edb1bf34edcae5943aa00.tar.bz2
configure.ac: Add --enable-checking=df.
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. From-SVN: r125698
Diffstat (limited to 'gcc')
-rw-r--r--gcc/config.in11
-rwxr-xr-xgcc/configure32
-rw-r--r--gcc/configure.ac27
-rw-r--r--gcc/df-core.c13
4 files changed, 42 insertions, 41 deletions
diff --git a/gcc/config.in b/gcc/config.in
index 7864d8c..22f9685 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 a11f675..2b435d4 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 295b8e7..0f13e99 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 68f6c50..67a4040 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