* [Bug tree-optimization/61964] [4.8 regression] krb5 database propagation enters infinite loop; reduced test case
2014-07-30 13:21 [Bug tree-optimization/61964] New: [4.8 regression] krb5 database propagation enters infinite loop; reduced test case andersk at mit dot edu
@ 2014-07-30 14:31 ` ghudson at mit dot edu
2014-07-30 20:21 ` andersk at mit dot edu
` (16 subsequent siblings)
17 siblings, 0 replies; 19+ messages in thread
From: ghudson at mit dot edu @ 2014-07-30 14:31 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61964
ghudson at mit dot edu changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |ghudson at mit dot edu
--- Comment #2 from ghudson at mit dot edu ---
How do you conclude that n->prev points to &heads[0]? node.prev receives the
value (void *)head, where head is initialized to &heads[2]. I cannot see any
uses of &heads[0] in the test program.
^ permalink raw reply [flat|nested] 19+ messages in thread
* [Bug tree-optimization/61964] [4.8 regression] krb5 database propagation enters infinite loop; reduced test case
2014-07-30 13:21 [Bug tree-optimization/61964] New: [4.8 regression] krb5 database propagation enters infinite loop; reduced test case andersk at mit dot edu
2014-07-30 14:31 ` [Bug tree-optimization/61964] " ghudson at mit dot edu
@ 2014-07-30 20:21 ` andersk at mit dot edu
2014-07-31 4:20 ` andersk at mit dot edu
` (15 subsequent siblings)
17 siblings, 0 replies; 19+ messages in thread
From: andersk at mit dot edu @ 2014-07-30 20:21 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61964
--- Comment #3 from Anders Kaseorg <andersk at mit dot edu> ---
(In reply to Richard Biener from comment #1)
> The testcase is violating strict-aliasing rules as you access a struct head
> as struct node here:
Agree with ghudson here: n->prev points to &heads[2], not &heads[0].
Although assigning a casted struct head * to a struct node * is arguably
sloppy, the standard does not prohibit it, as long as it is never dereferenced
in that form.
^ permalink raw reply [flat|nested] 19+ messages in thread
* [Bug tree-optimization/61964] [4.8 regression] krb5 database propagation enters infinite loop; reduced test case
2014-07-30 13:21 [Bug tree-optimization/61964] New: [4.8 regression] krb5 database propagation enters infinite loop; reduced test case andersk at mit dot edu
2014-07-30 14:31 ` [Bug tree-optimization/61964] " ghudson at mit dot edu
2014-07-30 20:21 ` andersk at mit dot edu
@ 2014-07-31 4:20 ` andersk at mit dot edu
2014-07-31 9:29 ` mikpelinux at gmail dot com
` (14 subsequent siblings)
17 siblings, 0 replies; 19+ messages in thread
From: andersk at mit dot edu @ 2014-07-31 4:20 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61964
--- Comment #4 from Anders Kaseorg <andersk at mit dot edu> ---
Another bisect between 4.7 and 4.8 shows that the bug appeared with r189321
(bug 52009).
My test case has triggers the bug in more versions than Kerberos does: as far
as I can tell, Kerberos was unaffected until r192604.
^ permalink raw reply [flat|nested] 19+ messages in thread
* [Bug tree-optimization/61964] [4.8 regression] krb5 database propagation enters infinite loop; reduced test case
2014-07-30 13:21 [Bug tree-optimization/61964] New: [4.8 regression] krb5 database propagation enters infinite loop; reduced test case andersk at mit dot edu
` (2 preceding siblings ...)
2014-07-31 4:20 ` andersk at mit dot edu
@ 2014-07-31 9:29 ` mikpelinux at gmail dot com
2014-07-31 9:48 ` schwab@linux-m68k.org
` (13 subsequent siblings)
17 siblings, 0 replies; 19+ messages in thread
From: mikpelinux at gmail dot com @ 2014-07-31 9:29 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61964
Mikael Pettersson <mikpelinux at gmail dot com> changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |mikpelinux at gmail dot com
--- Comment #5 from Mikael Pettersson <mikpelinux at gmail dot com> ---
I've been staring as this test case, and I cannot find any dereference of a
wrong-typed pointer value. The only oddity I can find is that at
if (n->prev == (void *)h)
n == &node, n->prev == (struct node *)&heads[2] (so wrong-typed), h ==
&heads[2], so there is a '==' being applied to a wrong-typed pointer. Is that
undefined behaviour? I'll note that changing the test to
if ((void *)n->prev == (void *)h)
still reproduces the wrong-code while looking technically Ok.
Also, there is no out-of-bounds error.
^ permalink raw reply [flat|nested] 19+ messages in thread
* [Bug tree-optimization/61964] [4.8 regression] krb5 database propagation enters infinite loop; reduced test case
2014-07-30 13:21 [Bug tree-optimization/61964] New: [4.8 regression] krb5 database propagation enters infinite loop; reduced test case andersk at mit dot edu
` (3 preceding siblings ...)
2014-07-31 9:29 ` mikpelinux at gmail dot com
@ 2014-07-31 9:48 ` schwab@linux-m68k.org
2014-07-31 10:05 ` [Bug tree-optimization/61964] [4.8/4.9/4.10 " rguenth at gcc dot gnu.org
` (12 subsequent siblings)
17 siblings, 0 replies; 19+ messages in thread
From: schwab@linux-m68k.org @ 2014-07-31 9:48 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61964
--- Comment #6 from Andreas Schwab <schwab@linux-m68k.org> ---
Equality test against pointer to void is explicitly allowed by the standard and
implicitly converts the other pointer to void*.
^ permalink raw reply [flat|nested] 19+ messages in thread
* [Bug tree-optimization/61964] [4.8/4.9/4.10 regression] krb5 database propagation enters infinite loop; reduced test case
2014-07-30 13:21 [Bug tree-optimization/61964] New: [4.8 regression] krb5 database propagation enters infinite loop; reduced test case andersk at mit dot edu
` (4 preceding siblings ...)
2014-07-31 9:48 ` schwab@linux-m68k.org
@ 2014-07-31 10:05 ` rguenth at gcc dot gnu.org
2014-07-31 12:20 ` vries at gcc dot gnu.org
` (11 subsequent siblings)
17 siblings, 0 replies; 19+ messages in thread
From: rguenth at gcc dot gnu.org @ 2014-07-31 10:05 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61964
Richard Biener <rguenth at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|UNCONFIRMED |ASSIGNED
Keywords| |wrong-code
Last reconfirmed| |2014-07-31
CC| |tom at codesourcery dot com
Assignee|unassigned at gcc dot gnu.org |rguenth at gcc dot gnu.org
Ever confirmed|0 |1
Summary|[4.8 regression] krb5 |[4.8/4.9/4.10 regression]
|database propagation enters |krb5 database propagation
|infinite loop; reduced test |enters infinite loop;
|case |reduced test case
Target Milestone|--- |4.8.4
--- Comment #7 from Richard Biener <rguenth at gcc dot gnu.org> ---
(In reply to Anders Kaseorg from comment #4)
> Another bisect between 4.7 and 4.8 shows that the bug appeared with r189321
> (bug 52009).
>
> My test case has triggers the bug in more versions than Kerberos does: as
> far as I can tell, Kerberos was unaffected until r192604.
Thanks - that pin-points it. tail-merging concludes that
<bb 3>:
_11 = n_7->next;
MEM[(struct head *)_10].first = _11;
goto <bb 5>;
and
<bb 4>:
_13 = n_7->next;
_10->next = _13;
are equivalent. But they are not - the stores are performed using
different alias sets.
Note that the actual miscompile happens during RTL instruction scheduling.
In 4.9 and trunk tail-merging is faced with
<bb 3>:
_11 = n_7->next;
MEM[(struct head *)&heads][k.1_8].first = _11;
goto <bb 5>;
<bb 4>:
_13 = n_7->next;
_10->next = _13;
instead but I bet the issue is still there.
So it simply does (on the 4.8 branch):
case GIMPLE_ASSIGN:
lhs1 = gimple_get_lhs (s1);
lhs2 = gimple_get_lhs (s2);
if (TREE_CODE (lhs1) != SSA_NAME
&& TREE_CODE (lhs2) != SSA_NAME)
return (vn_valueize (gimple_vdef (s1))
== vn_valueize (gimple_vdef (s2)));
which shows that we value-number the VDEFs the same.
IMHO VDEF value-numbering is dangerous here.
I have a patch.
^ permalink raw reply [flat|nested] 19+ messages in thread
* [Bug tree-optimization/61964] [4.8/4.9/4.10 regression] krb5 database propagation enters infinite loop; reduced test case
2014-07-30 13:21 [Bug tree-optimization/61964] New: [4.8 regression] krb5 database propagation enters infinite loop; reduced test case andersk at mit dot edu
` (5 preceding siblings ...)
2014-07-31 10:05 ` [Bug tree-optimization/61964] [4.8/4.9/4.10 " rguenth at gcc dot gnu.org
@ 2014-07-31 12:20 ` vries at gcc dot gnu.org
2014-07-31 12:24 ` rguenther at suse dot de
` (10 subsequent siblings)
17 siblings, 0 replies; 19+ messages in thread
From: vries at gcc dot gnu.org @ 2014-07-31 12:20 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61964
vries at gcc dot gnu.org changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |vries at gcc dot gnu.org
--- Comment #8 from vries at gcc dot gnu.org ---
Using this patch on the example from the description field, I can modify the
example on the command line:
...
$ diff -u bug-orig.c bug-mod.c
--- bug-orig.c 2014-07-31 14:00:50.663275717 +0200
+++ bug-mod.c 2014-07-31 14:01:49.403276412 +0200
@@ -11,7 +11,7 @@
struct node *n = head->first;
struct head *h = &heads[k];
- if (n->prev == (void *)h)
+ if (FORCE n->prev == (void *)h)
h->first = n->next;
else
n->prev->next = n->next;
...
1. -DFORCE="" gives the original
2. -DFORCE="1 ||" forces the condition to true
3. -DFORCE="0 &&" forces the confition to false
In this experiment, we don't use tree-tail-merge:
...
$ gcc -DFORCE="1 ||" bug-mod.c -O2 -fno-strict-aliasing -fno-tree-tail-merge &&
./a.out ; echo $?
0
$ gcc -DFORCE="1 ||" bug-mod.c -O2 -fstrict-aliasing -fno-tree-tail-merge &&
./a.out ; echo $?
0
$ gcc -DFORCE="0 &&" bug-mod.c -O2 -fno-strict-aliasing -fno-tree-tail-merge &&
./a.out ; echo $?
0
$ gcc -DFORCE="0 &&" bug-mod.c -O2 -fstrict-aliasing -fno-tree-tail-merge &&
./a.out ; echo $?
1
...
The last result seems to suggest that the example is not type-safe.
My understanding is that the problem is in the line:
n->prev->next = n->next;
where we effectively do:
/* ((struct node*)&heads[2])->next = node.next */
which is type-unsafe.
^ permalink raw reply [flat|nested] 19+ messages in thread
* [Bug tree-optimization/61964] [4.8/4.9/4.10 regression] krb5 database propagation enters infinite loop; reduced test case
2014-07-30 13:21 [Bug tree-optimization/61964] New: [4.8 regression] krb5 database propagation enters infinite loop; reduced test case andersk at mit dot edu
` (6 preceding siblings ...)
2014-07-31 12:20 ` vries at gcc dot gnu.org
@ 2014-07-31 12:24 ` rguenther at suse dot de
2014-07-31 14:07 ` rguenth at gcc dot gnu.org
` (9 subsequent siblings)
17 siblings, 0 replies; 19+ messages in thread
From: rguenther at suse dot de @ 2014-07-31 12:24 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61964
--- Comment #9 from rguenther at suse dot de <rguenther at suse dot de> ---
On Thu, 31 Jul 2014, vries at gcc dot gnu.org wrote:
> https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61964
>
> vries at gcc dot gnu.org changed:
>
> What |Removed |Added
> ----------------------------------------------------------------------------
> CC| |vries at gcc dot gnu.org
>
> --- Comment #8 from vries at gcc dot gnu.org ---
> Using this patch on the example from the description field, I can modify the
> example on the command line:
> ...
> $ diff -u bug-orig.c bug-mod.c
> --- bug-orig.c 2014-07-31 14:00:50.663275717 +0200
> +++ bug-mod.c 2014-07-31 14:01:49.403276412 +0200
> @@ -11,7 +11,7 @@
> struct node *n = head->first;
> struct head *h = &heads[k];
>
> - if (n->prev == (void *)h)
> + if (FORCE n->prev == (void *)h)
> h->first = n->next;
> else
> n->prev->next = n->next;
> ...
>
> 1. -DFORCE="" gives the original
> 2. -DFORCE="1 ||" forces the condition to true
> 3. -DFORCE="0 &&" forces the confition to false
>
> In this experiment, we don't use tree-tail-merge:
> ...
> $ gcc -DFORCE="1 ||" bug-mod.c -O2 -fno-strict-aliasing -fno-tree-tail-merge &&
> ./a.out ; echo $?
> 0
> $ gcc -DFORCE="1 ||" bug-mod.c -O2 -fstrict-aliasing -fno-tree-tail-merge &&
> ./a.out ; echo $?
> 0
> $ gcc -DFORCE="0 &&" bug-mod.c -O2 -fno-strict-aliasing -fno-tree-tail-merge &&
> ./a.out ; echo $?
> 0
> $ gcc -DFORCE="0 &&" bug-mod.c -O2 -fstrict-aliasing -fno-tree-tail-merge &&
> ./a.out ; echo $?
> 1
> ...
>
> The last result seems to suggest that the example is not type-safe.
>
> My understanding is that the problem is in the line:
> n->prev->next = n->next;
> where we effectively do:
> /* ((struct node*)&heads[2])->next = node.next */
> which is type-unsafe.
But that line is never executed at runtime (well, unless tail
merging comes along and makes it the only version present).
Richard.
^ permalink raw reply [flat|nested] 19+ messages in thread
* [Bug tree-optimization/61964] [4.8/4.9/4.10 regression] krb5 database propagation enters infinite loop; reduced test case
2014-07-30 13:21 [Bug tree-optimization/61964] New: [4.8 regression] krb5 database propagation enters infinite loop; reduced test case andersk at mit dot edu
` (7 preceding siblings ...)
2014-07-31 12:24 ` rguenther at suse dot de
@ 2014-07-31 14:07 ` rguenth at gcc dot gnu.org
2014-07-31 14:10 ` [Bug tree-optimization/61964] [4.8/4.9 " rguenth at gcc dot gnu.org
` (8 subsequent siblings)
17 siblings, 0 replies; 19+ messages in thread
From: rguenth at gcc dot gnu.org @ 2014-07-31 14:07 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61964
--- Comment #10 from Richard Biener <rguenth at gcc dot gnu.org> ---
Author: rguenth
Date: Thu Jul 31 14:06:59 2014
New Revision: 213375
URL: https://gcc.gnu.org/viewcvs?rev=213375&root=gcc&view=rev
Log:
2014-07-31 Richard Biener <rguenther@suse.de>
PR tree-optimization/61964
* tree-ssa-tail-merge.c (gimple_equal_p): Handle non-SSA LHS solely
by structural equality.
* gcc.dg/torture/pr61964.c: New testcase.
Added:
trunk/gcc/testsuite/gcc.dg/torture/pr61964.c
Modified:
trunk/gcc/ChangeLog
trunk/gcc/testsuite/ChangeLog
trunk/gcc/tree-ssa-tail-merge.c
^ permalink raw reply [flat|nested] 19+ messages in thread
* [Bug tree-optimization/61964] [4.8/4.9 regression] krb5 database propagation enters infinite loop; reduced test case
2014-07-30 13:21 [Bug tree-optimization/61964] New: [4.8 regression] krb5 database propagation enters infinite loop; reduced test case andersk at mit dot edu
` (8 preceding siblings ...)
2014-07-31 14:07 ` rguenth at gcc dot gnu.org
@ 2014-07-31 14:10 ` rguenth at gcc dot gnu.org
2014-07-31 17:09 ` vries at gcc dot gnu.org
` (7 subsequent siblings)
17 siblings, 0 replies; 19+ messages in thread
From: rguenth at gcc dot gnu.org @ 2014-07-31 14:10 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61964
Richard Biener <rguenth at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Known to work| |4.10.0
Summary|[4.8/4.9/4.10 regression] |[4.8/4.9 regression] krb5
|krb5 database propagation |database propagation enters
|enters infinite loop; |infinite loop; reduced test
|reduced test case |case
--- Comment #11 from Richard Biener <rguenth at gcc dot gnu.org> ---
Fixed on trunk sofar.
^ permalink raw reply [flat|nested] 19+ messages in thread
* [Bug tree-optimization/61964] [4.8/4.9 regression] krb5 database propagation enters infinite loop; reduced test case
2014-07-30 13:21 [Bug tree-optimization/61964] New: [4.8 regression] krb5 database propagation enters infinite loop; reduced test case andersk at mit dot edu
` (9 preceding siblings ...)
2014-07-31 14:10 ` [Bug tree-optimization/61964] [4.8/4.9 " rguenth at gcc dot gnu.org
@ 2014-07-31 17:09 ` vries at gcc dot gnu.org
2014-08-01 7:32 ` rguenth at gcc dot gnu.org
` (6 subsequent siblings)
17 siblings, 0 replies; 19+ messages in thread
From: vries at gcc dot gnu.org @ 2014-07-31 17:09 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61964
--- Comment #12 from vries at gcc dot gnu.org ---
Created attachment 33220
--> https://gcc.gnu.org/bugzilla/attachment.cgi?id=33220&action=edit
Alternative patch
> But that line is never executed at runtime (well, unless tail
> merging comes along and makes it the only version present).
Ah, right, we consider a program with dead type-unsafe code valid.
This follow-up patch attempts to fix things less conservatively on trunk. Shall
I put this through testing or do you see a problem with this approach?
Furthermore, I suspect that a similar issue exists for loads, I'll look into
that.
^ permalink raw reply [flat|nested] 19+ messages in thread
* [Bug tree-optimization/61964] [4.8/4.9 regression] krb5 database propagation enters infinite loop; reduced test case
2014-07-30 13:21 [Bug tree-optimization/61964] New: [4.8 regression] krb5 database propagation enters infinite loop; reduced test case andersk at mit dot edu
` (10 preceding siblings ...)
2014-07-31 17:09 ` vries at gcc dot gnu.org
@ 2014-08-01 7:32 ` rguenth at gcc dot gnu.org
2014-08-01 7:36 ` rguenth at gcc dot gnu.org
` (5 subsequent siblings)
17 siblings, 0 replies; 19+ messages in thread
From: rguenth at gcc dot gnu.org @ 2014-08-01 7:32 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61964
--- Comment #13 from Richard Biener <rguenth at gcc dot gnu.org> ---
(In reply to vries from comment #12)
> Created attachment 33220 [details]
> Alternative patch
>
> > But that line is never executed at runtime (well, unless tail
> > merging comes along and makes it the only version present).
>
> Ah, right, we consider a program with dead type-unsafe code valid.
>
> This follow-up patch attempts to fix things less conservatively on trunk.
> Shall I put this through testing or do you see a problem with this approach?
Hum. I don't like guarding optimizations with !flag_strict_aliasing, that is,
-fno-strict-aliasing shouldn't get us more optimization.
Also on trunk I'd like to rip out the use of the SCCVN lattice from
tail-merging as there FRE/PRE value-replace every SSA name which means
we don't need it. The tight entanglement between PRE and tail-merge has
given me more headaches recently.
> Furthermore, I suspect that a similar issue exists for loads, I'll look into
> that.
I don't think so.
^ permalink raw reply [flat|nested] 19+ messages in thread
* [Bug tree-optimization/61964] [4.8/4.9 regression] krb5 database propagation enters infinite loop; reduced test case
2014-07-30 13:21 [Bug tree-optimization/61964] New: [4.8 regression] krb5 database propagation enters infinite loop; reduced test case andersk at mit dot edu
` (11 preceding siblings ...)
2014-08-01 7:32 ` rguenth at gcc dot gnu.org
@ 2014-08-01 7:36 ` rguenth at gcc dot gnu.org
2014-08-01 7:40 ` rguenth at gcc dot gnu.org
` (4 subsequent siblings)
17 siblings, 0 replies; 19+ messages in thread
From: rguenth at gcc dot gnu.org @ 2014-08-01 7:36 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61964
--- Comment #14 from Richard Biener <rguenth at gcc dot gnu.org> ---
Author: rguenth
Date: Fri Aug 1 07:36:16 2014
New Revision: 213404
URL: https://gcc.gnu.org/viewcvs?rev=213404&root=gcc&view=rev
Log:
2014-08-01 Richard Biener <rguenther@suse.de>
PR tree-optimization/61964
* tree-ssa-tail-merge.c (gimple_equal_p): Handle non-SSA LHS solely
by structural equality.
* gcc.dg/torture/pr61964.c: New testcase.
* gcc.dg/pr51879-18.c: XFAIL.
Added:
branches/gcc-4_9-branch/gcc/testsuite/gcc.dg/torture/pr61964.c
Modified:
branches/gcc-4_9-branch/gcc/ChangeLog
branches/gcc-4_9-branch/gcc/testsuite/ChangeLog
branches/gcc-4_9-branch/gcc/testsuite/gcc.dg/pr51879-18.c
branches/gcc-4_9-branch/gcc/tree-ssa-tail-merge.c
^ permalink raw reply [flat|nested] 19+ messages in thread
* [Bug tree-optimization/61964] [4.8/4.9 regression] krb5 database propagation enters infinite loop; reduced test case
2014-07-30 13:21 [Bug tree-optimization/61964] New: [4.8 regression] krb5 database propagation enters infinite loop; reduced test case andersk at mit dot edu
` (12 preceding siblings ...)
2014-08-01 7:36 ` rguenth at gcc dot gnu.org
@ 2014-08-01 7:40 ` rguenth at gcc dot gnu.org
2014-08-01 8:17 ` rguenth at gcc dot gnu.org
` (3 subsequent siblings)
17 siblings, 0 replies; 19+ messages in thread
From: rguenth at gcc dot gnu.org @ 2014-08-01 7:40 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61964
--- Comment #15 from Richard Biener <rguenth at gcc dot gnu.org> ---
Author: rguenth
Date: Fri Aug 1 07:40:01 2014
New Revision: 213405
URL: https://gcc.gnu.org/viewcvs?rev=213405&root=gcc&view=rev
Log:
2014-08-01 Richard Biener <rguenther@suse.de>
PR tree-optimization/61964
* tree-ssa-tail-merge.c (gimple_operand_equal_value_p): New
function merged from trunk.
(gimple_equal_p): Handle non-SSA LHS solely by structural
equality.
* gcc.dg/torture/pr61964.c: New testcase.
* gcc.dg/pr51879-18.c: XFAIL.
Added:
branches/gcc-4_8-branch/gcc/testsuite/gcc.dg/torture/pr61964.c
Modified:
branches/gcc-4_8-branch/gcc/ChangeLog
branches/gcc-4_8-branch/gcc/testsuite/ChangeLog
branches/gcc-4_8-branch/gcc/testsuite/gcc.dg/pr51879-18.c
branches/gcc-4_8-branch/gcc/tree-ssa-tail-merge.c
^ permalink raw reply [flat|nested] 19+ messages in thread
* [Bug tree-optimization/61964] [4.8/4.9 regression] krb5 database propagation enters infinite loop; reduced test case
2014-07-30 13:21 [Bug tree-optimization/61964] New: [4.8 regression] krb5 database propagation enters infinite loop; reduced test case andersk at mit dot edu
` (13 preceding siblings ...)
2014-08-01 7:40 ` rguenth at gcc dot gnu.org
@ 2014-08-01 8:17 ` rguenth at gcc dot gnu.org
2014-08-01 8:18 ` andersk at mit dot edu
` (2 subsequent siblings)
17 siblings, 0 replies; 19+ messages in thread
From: rguenth at gcc dot gnu.org @ 2014-08-01 8:17 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61964
Richard Biener <rguenth at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|ASSIGNED |RESOLVED
Known to work| |4.8.4, 4.9.2
Resolution|--- |FIXED
Known to fail| |4.8.3
--- Comment #16 from Richard Biener <rguenth at gcc dot gnu.org> ---
Fixed.
^ permalink raw reply [flat|nested] 19+ messages in thread
* [Bug tree-optimization/61964] [4.8/4.9 regression] krb5 database propagation enters infinite loop; reduced test case
2014-07-30 13:21 [Bug tree-optimization/61964] New: [4.8 regression] krb5 database propagation enters infinite loop; reduced test case andersk at mit dot edu
` (14 preceding siblings ...)
2014-08-01 8:17 ` rguenth at gcc dot gnu.org
@ 2014-08-01 8:18 ` andersk at mit dot edu
2014-08-04 0:25 ` vries at gcc dot gnu.org
2014-08-18 8:38 ` vries at gcc dot gnu.org
17 siblings, 0 replies; 19+ messages in thread
From: andersk at mit dot edu @ 2014-08-01 8:18 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61964
--- Comment #17 from Anders Kaseorg <andersk at mit dot edu> ---
Thanks. I verified that GCC 4.8 r213405 fixes my test case and the original
Kerberos problem.
^ permalink raw reply [flat|nested] 19+ messages in thread
* [Bug tree-optimization/61964] [4.8/4.9 regression] krb5 database propagation enters infinite loop; reduced test case
2014-07-30 13:21 [Bug tree-optimization/61964] New: [4.8 regression] krb5 database propagation enters infinite loop; reduced test case andersk at mit dot edu
` (15 preceding siblings ...)
2014-08-01 8:18 ` andersk at mit dot edu
@ 2014-08-04 0:25 ` vries at gcc dot gnu.org
2014-08-18 8:38 ` vries at gcc dot gnu.org
17 siblings, 0 replies; 19+ messages in thread
From: vries at gcc dot gnu.org @ 2014-08-04 0:25 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61964
--- Comment #18 from vries at gcc dot gnu.org ---
(In reply to Richard Biener from comment #13)
> (In reply to vries from comment #12)
> > Furthermore, I suspect that a similar issue exists for loads, I'll look into
> > that.
>
> I don't think so.
How about PR62004 ?
^ permalink raw reply [flat|nested] 19+ messages in thread
* [Bug tree-optimization/61964] [4.8/4.9 regression] krb5 database propagation enters infinite loop; reduced test case
2014-07-30 13:21 [Bug tree-optimization/61964] New: [4.8 regression] krb5 database propagation enters infinite loop; reduced test case andersk at mit dot edu
` (16 preceding siblings ...)
2014-08-04 0:25 ` vries at gcc dot gnu.org
@ 2014-08-18 8:38 ` vries at gcc dot gnu.org
17 siblings, 0 replies; 19+ messages in thread
From: vries at gcc dot gnu.org @ 2014-08-18 8:38 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61964
Bug 61964 depends on bug 62030, which changed state.
Bug 62030 Summary: wrong code due to ifcvt merging two stores which have different aliasing sets
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=62030
What |Removed |Added
----------------------------------------------------------------------------
Status|ASSIGNED |RESOLVED
Resolution|--- |FIXED
^ permalink raw reply [flat|nested] 19+ messages in thread