]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
Revert patch that disabled exporting of global ranges.
authorAldy Hernandez <aldyh@redhat.com>
Tue, 1 Jun 2021 09:26:02 +0000 (05:26 -0400)
committerAldy Hernandez <aldyh@redhat.com>
Tue, 1 Jun 2021 14:59:30 +0000 (16:59 +0200)
Andrew's last set of changes fixes the bootstrap problem on i686 when
global ranges are exported from evrp.  The specific patch that fixes the
problem is 715914d3:

Author: Andrew MacLeod <amacleod@redhat.com>
Date:   Mon May 31 12:13:50 2021 -0400

    Do not calculate new values when evaluating a debug statement.

    Add a flag to enable/disable immediately improving poor values found during
    cache propagation. Then disable it when processing debug statements.

This patch reverts commit 2364b58 now that exporting of global ranges works.

Tested on x86-64 Linux with default flags, and on i686 with the flags in
the PR: --enable-clocale=gnu --with-system-zlib --with-demangler-in-ld --with-fpmath=sse --enable-languages=c,c++ --enable-cet i686-linux --enable-bootstrap --with-fpmath=sse --disable-libcc1 --disable-libcilkrts --disable-libsanitizer

gcc/ChangeLog:

* gimple-ssa-evrp.c: Enable exporting of global ranges.

gcc/testsuite/ChangeLog:

* gcc.dg/Wstringop-overflow-55.c: Adjust for global ranges changes.
* gcc.dg/pr80776-1.c: Same.

gcc/gimple-ssa-evrp.c
gcc/testsuite/gcc.dg/Wstringop-overflow-55.c
gcc/testsuite/gcc.dg/pr80776-1.c

index f1eea206afd88a82d32040ec801cd9ec5a170a41..118d10365a006fd22530655305541eda89e62a1e 100644 (file)
@@ -127,8 +127,7 @@ public:
     if (dump_file && (dump_flags & TDF_DETAILS))
       m_ranger->dump (dump_file);
 
-    // FIXME: Do not export ranges until PR100787 is fixed.
-    //m_ranger->export_global_ranges ();
+    m_ranger->export_global_ranges ();
     disable_ranger (cfun);
   }
 
@@ -194,8 +193,7 @@ public:
     if (dump_file && (dump_flags & TDF_DETAILS))
       m_ranger->dump (dump_file);
 
-    // FIXME: Do not export ranges until PR100787 is fixed.
-    //m_ranger->export_global_ranges ();
+    m_ranger->export_global_ranges ();
     disable_ranger (cfun);
   }
 
index 5f83af7c57fe9c9ee05e9a33ff769250382132d4..c3c2dbe06ddfbf74e2388dfc2c3b72e327cf8c65 100644 (file)
@@ -66,7 +66,7 @@ void warn_ptrdiff_anti_range_add (ptrdiff_t i)
 {
   i |= 1;
 
-  char ca5[5];              // { dg-message "at offset \\\[1, 5]" "pr?????" { xfail *-*-* } }
+  char ca5[5];              // { dg-message "at offset \\\[1, 5]" "pr?????" }
   char *p0 = ca5;           // offset
   char *p1 = p0 + i;        //  1-5
   char *p2 = p1 + i;        //  2-5
@@ -74,7 +74,7 @@ void warn_ptrdiff_anti_range_add (ptrdiff_t i)
   char *p4 = p3 + i;        //  4-5
   char *p5 = p4 + i;        //   5
 
-  memset (p5, 0, 5);        // { dg-warning "writing 5 bytes into a region of size 0" "pr?????" { xfail *-*-* } }
+  memset (p5, 0, 5);        // { dg-warning "writing 5 bytes into a region of size" "pr?????" }
 
   sink (p0, p1, p2, p3, p4, p5);
 }
@@ -83,7 +83,7 @@ void warn_int_anti_range (int i)
 {
   i |= 1;
 
-  char ca5[5];              // { dg-message "at offset \\\[1, 5]" "pr?????" { xfail *-*-* } }
+  char ca5[5];              // { dg-message "at offset \\\[1, 5]" "pr?????" }
   char *p0 = ca5;           // offset
   char *p1 = p0 + i;        //  1-5
   char *p2 = p1 + i;        //  2-5
@@ -91,7 +91,7 @@ void warn_int_anti_range (int i)
   char *p4 = p3 + i;        //  4-5
   char *p5 = p4 + i;        //   5
 
-  memset (p5, 0, 5);        // { dg-warning "writing 5 bytes into a region of size 0" "pr?????" { xfail *-*-* } }
+  memset (p5, 0, 5);        // { dg-warning "writing 5 bytes into a region of size" "pr?????" }
 
   sink (p0, p1, p2, p3, p4, p5);
 }
index af41c0c2ffabf74396bd6196d11657e87e078105..f3a120b67443a9e2cd3ebba5972736928bbeef5f 100644 (file)
@@ -17,7 +17,5 @@ Foo (void)
     __builtin_unreachable ();
   if (! (0 <= i && i <= 999999))
     __builtin_unreachable ();
-  /* The correctness bits for [E]VRP cannot handle chained conditionals
-     when deciding to ignore a unreachable branch for setting SSA range info. */
-  sprintf (number, "%d", i); /* { dg-bogus "writing" "" { xfail *-*-* } } */
+  sprintf (number, "%d", i); /* { dg-bogus "writing" "" } */
 }