11.1.1-2
This commit is contained in:
parent
f172832272
commit
a31fadcc09
3
gcc.spec
3
gcc.spec
@ -266,6 +266,7 @@ Patch11: gcc11-rh1574936.patch
|
|||||||
Patch12: gcc11-d-shared-libphobos.patch
|
Patch12: gcc11-d-shared-libphobos.patch
|
||||||
Patch13: gcc11-pr99341-revert.patch
|
Patch13: gcc11-pr99341-revert.patch
|
||||||
Patch14: gcc11-pr100379.patch
|
Patch14: gcc11-pr100379.patch
|
||||||
|
Patch15: gcc11-pr100566.patch
|
||||||
|
|
||||||
Patch100: gcc11-fortran-fdec-duplicates.patch
|
Patch100: gcc11-fortran-fdec-duplicates.patch
|
||||||
Patch101: gcc11-fortran-flogical-as-integer.patch
|
Patch101: gcc11-fortran-flogical-as-integer.patch
|
||||||
@ -790,6 +791,7 @@ to NVidia PTX capable devices if available.
|
|||||||
%patch12 -p0 -b .d-shared-libphobos~
|
%patch12 -p0 -b .d-shared-libphobos~
|
||||||
%patch13 -p0 -b .pr99341-revert~
|
%patch13 -p0 -b .pr99341-revert~
|
||||||
%patch14 -p0 -b .pr100379~
|
%patch14 -p0 -b .pr100379~
|
||||||
|
%patch15 -p0 -b .pr100566~
|
||||||
|
|
||||||
%if 0%{?rhel} >= 9
|
%if 0%{?rhel} >= 9
|
||||||
%patch100 -p1 -b .fortran-fdec-duplicates~
|
%patch100 -p1 -b .fortran-fdec-duplicates~
|
||||||
@ -3145,6 +3147,7 @@ end
|
|||||||
tree-optimization/100253, tree-optimization/100278,
|
tree-optimization/100253, tree-optimization/100278,
|
||||||
tree-optimization/100329, tree-optimization/100414
|
tree-optimization/100329, tree-optimization/100414
|
||||||
- fix build with removed linux/cyclades.h header (PR sanitizer/100379)
|
- fix build with removed linux/cyclades.h header (PR sanitizer/100379)
|
||||||
|
- fix up mausezahn miscompilation (#1958887, PR tree-optimization/100566)
|
||||||
|
|
||||||
* Wed Apr 28 2021 Jakub Jelinek <jakub@redhat.com> 11.1.1-1
|
* Wed Apr 28 2021 Jakub Jelinek <jakub@redhat.com> 11.1.1-1
|
||||||
- update from releases/gcc-11-branch
|
- update from releases/gcc-11-branch
|
||||||
|
69
gcc11-pr100566.patch
Normal file
69
gcc11-pr100566.patch
Normal file
@ -0,0 +1,69 @@
|
|||||||
|
2021-05-12 Richard Biener <rguenther@suse.de>
|
||||||
|
|
||||||
|
PR tree-optimization/100566
|
||||||
|
* tree-ssa-sccvn.c (dominated_by_p_w_unex): Properly handle
|
||||||
|
allow_back for all edge queries.
|
||||||
|
|
||||||
|
* gcc.dg/torture/pr100566.c: New testcase.
|
||||||
|
|
||||||
|
--- gcc/tree-ssa-sccvn.c
|
||||||
|
+++ gcc/tree-ssa-sccvn.c
|
||||||
|
@@ -4529,7 +4529,8 @@ dominated_by_p_w_unex (basic_block bb1, basic_block bb2, bool allow_back)
|
||||||
|
/* Iterate to the single executable bb2 successor. */
|
||||||
|
edge succe = NULL;
|
||||||
|
FOR_EACH_EDGE (e, ei, bb2->succs)
|
||||||
|
- if (e->flags & EDGE_EXECUTABLE)
|
||||||
|
+ if ((e->flags & EDGE_EXECUTABLE)
|
||||||
|
+ || (!allow_back && (e->flags & EDGE_DFS_BACK)))
|
||||||
|
{
|
||||||
|
if (succe)
|
||||||
|
{
|
||||||
|
@@ -4547,7 +4548,8 @@ dominated_by_p_w_unex (basic_block bb1, basic_block bb2, bool allow_back)
|
||||||
|
{
|
||||||
|
FOR_EACH_EDGE (e, ei, succe->dest->preds)
|
||||||
|
if (e != succe
|
||||||
|
- && (e->flags & EDGE_EXECUTABLE))
|
||||||
|
+ && ((e->flags & EDGE_EXECUTABLE)
|
||||||
|
+ || (!allow_back && (e->flags & EDGE_DFS_BACK))))
|
||||||
|
{
|
||||||
|
succe = NULL;
|
||||||
|
break;
|
||||||
|
--- gcc/testsuite/gcc.dg/torture/pr100566.c
|
||||||
|
+++ gcc/testsuite/gcc.dg/torture/pr100566.c
|
||||||
|
@@ -0,0 +1,36 @@
|
||||||
|
+/* { dg-do run } */
|
||||||
|
+
|
||||||
|
+volatile int s, c;
|
||||||
|
+
|
||||||
|
+__attribute__((noipa)) void
|
||||||
|
+foo (void)
|
||||||
|
+{
|
||||||
|
+ if (c++ > 1)
|
||||||
|
+ __builtin_abort ();
|
||||||
|
+}
|
||||||
|
+
|
||||||
|
+__attribute__((noipa)) int
|
||||||
|
+bar (void)
|
||||||
|
+{
|
||||||
|
+ int i = 0, j = s;
|
||||||
|
+ if (j == 0)
|
||||||
|
+ goto lab;
|
||||||
|
+ for (i = 0; i < j; i++)
|
||||||
|
+ {
|
||||||
|
+ lab:
|
||||||
|
+ foo ();
|
||||||
|
+ if (!j)
|
||||||
|
+ goto lab;
|
||||||
|
+ }
|
||||||
|
+ return 0;
|
||||||
|
+}
|
||||||
|
+
|
||||||
|
+int
|
||||||
|
+main ()
|
||||||
|
+{
|
||||||
|
+ s = 1;
|
||||||
|
+ bar ();
|
||||||
|
+ if (c != 1)
|
||||||
|
+ __builtin_abort ();
|
||||||
|
+ return 0;
|
||||||
|
+}
|
Loading…
Reference in New Issue
Block a user