summaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorbonzini <bonzini@138bc75d-0d04-0410-961f-82ee72b054a4>2007-06-14 07:51:58 +0000
committerbonzini <bonzini@138bc75d-0d04-0410-961f-82ee72b054a4>2007-06-14 07:51:58 +0000
commit5ccba2dcac8662892046f87b155676e2bde2a531 (patch)
tree56353f3485cfb67af89ae4262894376f50a8e2c7 /gcc
parentc3e2d63e610d3b656592d3a600f5d0c105824589 (diff)
downloadgcc-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.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 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