Makefile.in (STAGE1_CHECKING): New variable.
authorNathan Sidwell <nathan@codesourcery.com>
Tue, 14 Sep 2004 07:20:05 +0000 (07:20 +0000)
committerNathan Sidwell <nathan@gcc.gnu.org>
Tue, 14 Sep 2004 07:20:05 +0000 (07:20 +0000)
* 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
gcc/Makefile.in
gcc/tree-ssa.c

index 3cd560d79438d3d56e74cd728d0cf0acfff5f5e8..4d1a58898a1b70c2d3cad13c050b6e12bef9c47b 100644 (file)
@@ -1,3 +1,10 @@
+2004-09-14  Nathan Sidwell  <nathan@codesourcery.com>
+
+       * 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  <uros@kss-loka.si>
 
        * config/i386/i386.c (output_fp_compare): Add generation
index ad61b55ed8846d075c14e91ffab7b878d165d369..63cee0193023cf2d629b5428f7d69629daf8c1bb 100644 (file)
@@ -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
 
index c8ced3632a2d7dd53fd6b89b3bf22a3e48069c53..c1efa1a1f4ec4556aa59e47bdf35298b21510965 100644 (file)
@@ -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;