From 032618223ba81a0f01b4b20241c0b0a9859db29b Mon Sep 17 00:00:00 2001 From: Nathan Sidwell Date: Tue, 14 Sep 2004 07:20:05 +0000 Subject: [PATCH] Makefile.in (STAGE1_CHECKING): New variable. * Makefile.in (STAGE1_CHECKING): New variable. (stage1_build): Use it. * tree-ssa.c (verify_ssa): Preserve state of dominance information. From-SVN: r87484 --- gcc/ChangeLog | 7 +++++++ gcc/Makefile.in | 9 ++++++--- gcc/tree-ssa.c | 8 ++++++++ 3 files changed, 21 insertions(+), 3 deletions(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 3cd560d7943..4d1a58898a1 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,10 @@ +2004-09-14 Nathan Sidwell + + * Makefile.in (STAGE1_CHECKING): New variable. + (stage1_build): Use it. + * tree-ssa.c (verify_ssa): Preserve state of dominance + information. + 2004-09-14 Uros Bizjak * config/i386/i386.c (output_fp_compare): Add generation diff --git a/gcc/Makefile.in b/gcc/Makefile.in index ad61b55ed88..63cee019302 100644 --- a/gcc/Makefile.in +++ b/gcc/Makefile.in @@ -134,6 +134,7 @@ BOOT_LANGUAGES = c @all_boot_languages@ # or BOOT_CFLAGS # STAGE1_CFLAGS is set by configure on some targets or passed from toplevel # and sets the CFLAGS passed to stage1 of a bootstrap compilation. +# STAGE1_CHECKING enables checking for the stage1 compiler # BOOT_CFLAGS is the value of CFLAGS to pass to the stage2, stage3 and stage4 # bootstrap compilations. # XCFLAGS is used for most compilations but not when using the GCC just built. @@ -142,6 +143,7 @@ XCFLAGS = TCFLAGS = CFLAGS = -g STAGE1_CFLAGS = -g @stage1_cflags@ +STAGE1_CHECKING = -DENABLE_CHECKING -DENABLE_ASSERT_CHECKING BOOT_CFLAGS = -g -O2 # Flags to determine code coverage. When coverage is disabled, this will @@ -3633,11 +3635,12 @@ STAGEFEEDBACK_FLAGS_TO_PASS = \ # only thing useful for building stage2. STAGE1_CFLAGS (via CFLAGS), # MAKEINFO and MAKEINFOFLAGS are explicitly passed here to make them # overrideable (for a bootstrap build stage1 also builds gcc.info). +# The stage1 compiler is always built with checking enabled. stage1_build: $(MAKE) CC="$(CC)" libdir=$(libdir) LANGUAGES="$(BOOT_LANGUAGES)" \ - CFLAGS="$(STAGE1_CFLAGS)" MAKEINFO="$(MAKEINFO)" \ - MAKEINFOFLAGS="$(MAKEINFOFLAGS)" COVERAGE_FLAGS= \ - OBJS-onestep="$(OBJS)" + CFLAGS="$(STAGE1_CFLAGS) $(STAGE1_CHECKING)" \ + MAKEINFO="$(MAKEINFO)" MAKEINFOFLAGS="$(MAKEINFOFLAGS)" \ + COVERAGE_FLAGS= OBJS-onestep="$(OBJS)" $(STAMP) stage1_build echo stage1_build > stage_last diff --git a/gcc/tree-ssa.c b/gcc/tree-ssa.c index c8ced3632a2..c1efa1a1f4e 100644 --- a/gcc/tree-ssa.c +++ b/gcc/tree-ssa.c @@ -505,6 +505,7 @@ verify_ssa (void) basic_block *definition_block = xcalloc (num_ssa_names, sizeof (basic_block)); ssa_op_iter iter; tree op; + enum dom_state orig_dom_state = dom_computed[CDI_DOMINATORS]; timevar_push (TV_TREE_SSA_VERIFY); @@ -605,6 +606,13 @@ verify_ssa (void) verify_alias_info (); free (definition_block); + /* Restore the dominance infomation to its prior known state, so + that we do not perturb the compiler's subsequent behaviour. */ + if (orig_dom_state == DOM_NONE) + free_dominance_info (CDI_DOMINATORS); + else + dom_computed[CDI_DOMINATORS] = orig_dom_state; + timevar_pop (TV_TREE_SSA_VERIFY); return; -- 2.30.2