public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug tree-optimization/17252] New: [3.5 Regression] LIM can create wrong code because of aliasing
@ 2004-08-31 19:35 pinskia at gcc dot gnu dot org
2004-08-31 19:36 ` [Bug tree-optimization/17252] " pinskia at gcc dot gnu dot org
` (15 more replies)
0 siblings, 16 replies; 17+ messages in thread
From: pinskia at gcc dot gnu dot org @ 2004-08-31 19:35 UTC (permalink / raw)
To: gcc-bugs
Compile the following with -O2 --param lim-expensive=1 and notice that the load of a is pulled out of
the loop but we cannot do that because we are accessing what a points to inside the loop and since
char can alias anything (in C) this is a bug.
char *a;
void g()
{
int i;
for(i=0;i<10;i++)a[i] = 0;
}
void h()
{
a = (char*)&a;
}
--
Summary: [3.5 Regression] LIM can create wrong code because of
aliasing
Product: gcc
Version: 3.5.0
Status: UNCONFIRMED
Keywords: wrong-code
Severity: critical
Priority: P2
Component: tree-optimization
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: pinskia at gcc dot gnu dot org
CC: gcc-bugs at gcc dot gnu dot org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=17252
^ permalink raw reply [flat|nested] 17+ messages in thread
* [Bug tree-optimization/17252] [3.5 Regression] LIM can create wrong code because of aliasing
2004-08-31 19:35 [Bug tree-optimization/17252] New: [3.5 Regression] LIM can create wrong code because of aliasing pinskia at gcc dot gnu dot org
@ 2004-08-31 19:36 ` pinskia at gcc dot gnu dot org
2004-08-31 21:07 ` pinskia at gcc dot gnu dot org
` (14 subsequent siblings)
15 siblings, 0 replies; 17+ messages in thread
From: pinskia at gcc dot gnu dot org @ 2004-08-31 19:36 UTC (permalink / raw)
To: gcc-bugs
--
What |Removed |Added
----------------------------------------------------------------------------
Target Milestone|--- |3.5.0
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=17252
^ permalink raw reply [flat|nested] 17+ messages in thread
* [Bug tree-optimization/17252] [3.5 Regression] LIM can create wrong code because of aliasing
2004-08-31 19:35 [Bug tree-optimization/17252] New: [3.5 Regression] LIM can create wrong code because of aliasing pinskia at gcc dot gnu dot org
2004-08-31 19:36 ` [Bug tree-optimization/17252] " pinskia at gcc dot gnu dot org
@ 2004-08-31 21:07 ` pinskia at gcc dot gnu dot org
2004-08-31 22:22 ` pinskia at gcc dot gnu dot org
` (13 subsequent siblings)
15 siblings, 0 replies; 17+ messages in thread
From: pinskia at gcc dot gnu dot org @ 2004-08-31 21:07 UTC (permalink / raw)
To: gcc-bugs
------- Additional Comments From pinskia at gcc dot gnu dot org 2004-08-31 21:07 -------
Here is the better example of where the problem comes into play:
char *a;
void g()
{
int i;
a = (char*)&a;
for(i=0;i<10;i++)a[i] = 0;
}
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=17252
^ permalink raw reply [flat|nested] 17+ messages in thread
* [Bug tree-optimization/17252] [3.5 Regression] LIM can create wrong code because of aliasing
2004-08-31 19:35 [Bug tree-optimization/17252] New: [3.5 Regression] LIM can create wrong code because of aliasing pinskia at gcc dot gnu dot org
2004-08-31 19:36 ` [Bug tree-optimization/17252] " pinskia at gcc dot gnu dot org
2004-08-31 21:07 ` pinskia at gcc dot gnu dot org
@ 2004-08-31 22:22 ` pinskia at gcc dot gnu dot org
2004-08-31 22:50 ` dnovillo at gcc dot gnu dot org
` (12 subsequent siblings)
15 siblings, 0 replies; 17+ messages in thread
From: pinskia at gcc dot gnu dot org @ 2004-08-31 22:22 UTC (permalink / raw)
To: gcc-bugs
------- Additional Comments From pinskia at gcc dot gnu dot org 2004-08-31 22:22 -------
Diego this is an aliasing bug, a recent one in fact because on the LNO branch we do the right thing but
on the mainline.
--
What |Removed |Added
----------------------------------------------------------------------------
AssignedTo|unassigned at gcc dot gnu |dnovillo at gcc dot gnu dot
|dot org |org
Status|UNCONFIRMED |ASSIGNED
Ever Confirmed| |1
Last reconfirmed|0000-00-00 00:00:00 |2004-08-31 22:22:29
date| |
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=17252
^ permalink raw reply [flat|nested] 17+ messages in thread
* [Bug tree-optimization/17252] [3.5 Regression] LIM can create wrong code because of aliasing
2004-08-31 19:35 [Bug tree-optimization/17252] New: [3.5 Regression] LIM can create wrong code because of aliasing pinskia at gcc dot gnu dot org
` (2 preceding siblings ...)
2004-08-31 22:22 ` pinskia at gcc dot gnu dot org
@ 2004-08-31 22:50 ` dnovillo at gcc dot gnu dot org
2004-08-31 23:01 ` pinskia at gcc dot gnu dot org
` (11 subsequent siblings)
15 siblings, 0 replies; 17+ messages in thread
From: dnovillo at gcc dot gnu dot org @ 2004-08-31 22:50 UTC (permalink / raw)
To: gcc-bugs
------- Additional Comments From dnovillo at gcc dot gnu dot org 2004-08-31 22:50 -------
Andrew,
Don't force assign bugs. If you want me to take a look at it, please CC me and
let me decide whether to take the bug or not.
> Compile the following with -O2 --param lim-expensive=1 and notice that the
load of a is pulled out of
> the loop but we cannot do that because we are accessing what a points to
inside the loop and since
> char can alias anything (in C) this is a bug.
>
> char *a;
> void g()
> {
> int i;
> for(i=0;i<10;i++)a[i] = 0;
> }
>
How exactly are we changing what 'a' points-to here? I see no bug.
Show me the invalid transformation? LIM does _nothing_ to this code.
$ ./cc1 -O2 -fdump-tree-all-vops a.c --param lim-expensive=1
g
Analyzing compilation unit
Performing intraprocedural optimizations
Assembling functions:
g
Execution times (seconds)
parser : 0.01 (50%) usr 0.00 ( 0%) sys 0.01 (25%) wall
dominator optimization: 0.00 ( 0%) usr 0.00 ( 0%) sys 0.01 (25%) wall
expand : 0.01 (50%) usr 0.01 (100%) sys 0.00 ( 0%) wall
flow analysis : 0.00 ( 0%) usr 0.00 ( 0%) sys 0.01 (25%) wall
TOTAL : 0.02 0.01 0.04
topo:~>
$ diff a.c.t47.loopinit a.c.t48.lim
4,18d3
< ;; 2 loops found, 2 levels
< ;;
< ;; Loop 0:
< ;; header -1, latch -2, pre-header -1
< ;; depth 0, level 2, outer -1
< ;; nodes: -1 0 1 3 2 -2
< ;;
< ;; Loop 1:
< ;; header 1, latch 3, pre-header -1
< ;; depth 1, level 1, outer 0
< ;; nodes: 1 3
< ;; 0 succs { 1 }
< ;; 1 succs { 2 3 }
< ;; 3 succs { 1 }
< ;; 2 succs { -2 }
topo:~>
$ ./cc1 --version
GNU C version 3.5.0 20040831 (experimental) (i686-pc-linux-gnu)
compiled by GNU C version 3.5.0 20040831 (experimental).
GGC heuristics: --param ggc-min-expand=99 --param ggc-min-heapsize=129237
--
What |Removed |Added
----------------------------------------------------------------------------
AssignedTo|dnovillo at gcc dot gnu dot |unassigned at gcc dot gnu
|org |dot org
Status|ASSIGNED |NEW
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=17252
^ permalink raw reply [flat|nested] 17+ messages in thread
* [Bug tree-optimization/17252] [3.5 Regression] LIM can create wrong code because of aliasing
2004-08-31 19:35 [Bug tree-optimization/17252] New: [3.5 Regression] LIM can create wrong code because of aliasing pinskia at gcc dot gnu dot org
` (3 preceding siblings ...)
2004-08-31 22:50 ` dnovillo at gcc dot gnu dot org
@ 2004-08-31 23:01 ` pinskia at gcc dot gnu dot org
2004-08-31 23:05 ` [Bug tree-optimization/17252] [3.5 Regression] not marking char types as aliasing anything pinskia at gcc dot gnu dot org
` (10 subsequent siblings)
15 siblings, 0 replies; 17+ messages in thread
From: pinskia at gcc dot gnu dot org @ 2004-08-31 23:01 UTC (permalink / raw)
To: gcc-bugs
------- Additional Comments From pinskia at gcc dot gnu dot org 2004-08-31 23:01 -------
This does not work for me the same way but this is still an aliasing bug.
tin:~/src/gnu/gcctest>gcc -v
Reading specs from /home/gates/pinskia/linux/lib/gcc/i686-pc-linux-gnu/3.5.0/specs
Configured with: /home/gates/pinskia/src/gnu/gcc/src/configure --target=i686-pc-linux-gnu --
host=i686-pc-linux-gnu --enable-__cxa_atexit --enable-languages=c++,objc,java --prefix=/home/
gates/pinskia/linux --enable-threads=posix --enable-sharedThread model: posixgcc version 3.5.0
20040831 (experimental)
--- pr17252.c.t47.loopinit 2004-08-31 18:46:21.190000000 -0400
+++ pr17252.c.t48.lim 2004-08-31 18:46:21.240000000 -0400
@@ -1,21 +1,6 @@
;; Function g (g)
-;; 2 loops found, 2 levels
-;;
-;; Loop 0:
-;; header -1, latch -2, pre-header -1
-;; depth 0, level 2, outer -1
-;; nodes: -1 0 1 3 2 -2
-;;
-;; Loop 1:
-;; header 1, latch 3, pre-header -1
-;; depth 1, level 1, outer 0
-;; nodes: 1 3
-;; 0 succs { 1 }
-;; 1 succs { 2 3 }
-;; 3 succs { 1 }
-;; 2 succs { -2 }
g ()
{
int i;
@@ -25,10 +10,10 @@ g ()
char * a.0;
<bb 0>:
+ a.0_4 = a;
# i_15 = PHI <0(0), i_8(3)>;
<L0>:;
- a.0_4 = a;
i.1_5 = (unsigned int)i_15;
i.2_6 = (char *)i.1_5;
T.3_7 = a.0_4 + i.2_6;
Basically since *a can change a by the definition of the C aliasing rules we cannot move the load of the
global out of the loop.
One should note that:
# TMT.5<D1139>_11 = V_MAY_DEF <TMT.5<D1139>_14>;
*T.3<D1126>_7 = 0;
there is no V_MAY_DEF for the global a at all when there should be.
Anyways Danny told me to assign it to you:
[14:56] < DannyB> You should probably retitle the bug and assign it to diego then
--
What |Removed |Added
----------------------------------------------------------------------------
CC| |dnovillo at gcc dot gnu dot
| |org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=17252
^ permalink raw reply [flat|nested] 17+ messages in thread
* [Bug tree-optimization/17252] [3.5 Regression] not marking char types as aliasing anything
2004-08-31 19:35 [Bug tree-optimization/17252] New: [3.5 Regression] LIM can create wrong code because of aliasing pinskia at gcc dot gnu dot org
` (4 preceding siblings ...)
2004-08-31 23:01 ` pinskia at gcc dot gnu dot org
@ 2004-08-31 23:05 ` pinskia at gcc dot gnu dot org
2004-08-31 23:07 ` dnovillo at redhat dot com
` (9 subsequent siblings)
15 siblings, 0 replies; 17+ messages in thread
From: pinskia at gcc dot gnu dot org @ 2004-08-31 23:05 UTC (permalink / raw)
To: gcc-bugs
------- Additional Comments From pinskia at gcc dot gnu dot org 2004-08-31 23:05 -------
Here is another example without LIM:
char *a;
void g()
{
a[0] = 0;
a[1] = 0;
}
there should be two loads of a.
It broke between 2004-05-11 and 2004-05-14.
--
What |Removed |Added
----------------------------------------------------------------------------
Summary|[3.5 Regression] LIM can |[3.5 Regression] not marking
|create wrong code because of|char types as aliasing
|aliasing |anything
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=17252
^ permalink raw reply [flat|nested] 17+ messages in thread
* [Bug tree-optimization/17252] [3.5 Regression] not marking char types as aliasing anything
2004-08-31 19:35 [Bug tree-optimization/17252] New: [3.5 Regression] LIM can create wrong code because of aliasing pinskia at gcc dot gnu dot org
` (5 preceding siblings ...)
2004-08-31 23:05 ` [Bug tree-optimization/17252] [3.5 Regression] not marking char types as aliasing anything pinskia at gcc dot gnu dot org
@ 2004-08-31 23:07 ` dnovillo at redhat dot com
2004-08-31 23:11 ` pinskia at gcc dot gnu dot org
` (8 subsequent siblings)
15 siblings, 0 replies; 17+ messages in thread
From: dnovillo at redhat dot com @ 2004-08-31 23:07 UTC (permalink / raw)
To: gcc-bugs
------- Additional Comments From dnovillo at redhat dot com 2004-08-31 23:07 -------
Subject: Re: [3.5 Regression] LIM can create
wrong code because of aliasing
On Tue, 2004-08-31 at 19:01, pinskia at gcc dot gnu dot org wrote:
> @@ -25,10 +10,10 @@ g ()
> char * a.0;
>
> <bb 0>:
> + a.0_4 = a;
>
> # i_15 = PHI <0(0), i_8(3)>;
> <L0>:;
> - a.0_4 = a;
> i.1_5 = (unsigned int)i_15;
> i.2_6 = (char *)i.1_5;
> T.3_7 = a.0_4 + i.2_6;
>
> Basically since *a can change a by the definition of the C aliasing rules we cannot move the load of the
> global out of the loop.
>
Well, since I can't seem to reproduce it here, I can't really help. Do
you have any local changes to LIM?
Diego.
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=17252
^ permalink raw reply [flat|nested] 17+ messages in thread
* [Bug tree-optimization/17252] [3.5 Regression] not marking char types as aliasing anything
2004-08-31 19:35 [Bug tree-optimization/17252] New: [3.5 Regression] LIM can create wrong code because of aliasing pinskia at gcc dot gnu dot org
` (6 preceding siblings ...)
2004-08-31 23:07 ` dnovillo at redhat dot com
@ 2004-08-31 23:11 ` pinskia at gcc dot gnu dot org
2004-08-31 23:21 ` pinskia at gcc dot gnu dot org
` (7 subsequent siblings)
15 siblings, 0 replies; 17+ messages in thread
From: pinskia at gcc dot gnu dot org @ 2004-08-31 23:11 UTC (permalink / raw)
To: gcc-bugs
------- Additional Comments From pinskia at gcc dot gnu dot org 2004-08-31 23:11 -------
The last example broke on the tree-ssa branch: between 2003-12-17 and 2003-12-18.
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=17252
^ permalink raw reply [flat|nested] 17+ messages in thread
* [Bug tree-optimization/17252] [3.5 Regression] not marking char types as aliasing anything
2004-08-31 19:35 [Bug tree-optimization/17252] New: [3.5 Regression] LIM can create wrong code because of aliasing pinskia at gcc dot gnu dot org
` (7 preceding siblings ...)
2004-08-31 23:11 ` pinskia at gcc dot gnu dot org
@ 2004-08-31 23:21 ` pinskia at gcc dot gnu dot org
2004-08-31 23:26 ` dnovillo at redhat dot com
` (6 subsequent siblings)
15 siblings, 0 replies; 17+ messages in thread
From: pinskia at gcc dot gnu dot org @ 2004-08-31 23:21 UTC (permalink / raw)
To: gcc-bugs
------- Additional Comments From pinskia at gcc dot gnu dot org 2004-08-31 23:21 -------
Hmm, For the last example I think this patch caused it: <http://gcc.gnu.org/ml/gcc-patches/2003-12/
msg01584.html>. but that code was removed in Feburary.
Diego also I should note that Phil's regression hunter also can reproduce this bug (the one related to
LIM).
--
What |Removed |Added
----------------------------------------------------------------------------
CC| |dberlin at gcc dot gnu dot
| |org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=17252
^ permalink raw reply [flat|nested] 17+ messages in thread
* [Bug tree-optimization/17252] [3.5 Regression] not marking char types as aliasing anything
2004-08-31 19:35 [Bug tree-optimization/17252] New: [3.5 Regression] LIM can create wrong code because of aliasing pinskia at gcc dot gnu dot org
` (8 preceding siblings ...)
2004-08-31 23:21 ` pinskia at gcc dot gnu dot org
@ 2004-08-31 23:26 ` dnovillo at redhat dot com
2004-09-01 0:17 ` pinskia at gcc dot gnu dot org
` (5 subsequent siblings)
15 siblings, 0 replies; 17+ messages in thread
From: dnovillo at redhat dot com @ 2004-08-31 23:26 UTC (permalink / raw)
To: gcc-bugs
------- Additional Comments From dnovillo at redhat dot com 2004-08-31 23:26 -------
Subject: Re: [3.5 Regression] not marking
char types as aliasing anything
On Tue, 2004-08-31 at 19:21, pinskia at gcc dot gnu dot org wrote:
> ------- Additional Comments From pinskia at gcc dot gnu dot org 2004-08-31 23:21 -------
> Hmm, For the last example I think this patch caused it: <http://gcc.gnu.org/ml/gcc-patches/2003-12/
> msg01584.html>. but that code was removed in Feburary.
>
> Diego also I should note that Phil's regression hunter also can reproduce this bug (the one related to
> LIM).
>
<dnovillo> i think i know where the bug is. We have the case a=&a, there's a shortcut in may_alias_p that says 'a pointer can't possibly have its own address'. and we do check if the alias set of the variable is != 0, we don't check whether the alias set of *p is != 0. try this
<dnovillo> @@ -1532,7 +1531,8 @@ may_alias_p (tree ptr, HOST_WIDE_INT mem
<dnovillo> for PTR's alias set here, not its pointed-to type. We also can't
<dnovillo> do this check with relaxed aliasing enabled. */
<dnovillo> if (POINTER_TYPE_P (TREE_TYPE (var))
<dnovillo> - && var_alias_set != 0)
<dnovillo> + && var_alias_set != 0
<dnovillo> + && mem_alias_set != 0)
<dnovillo> {
<dnovillo> HOST_WIDE_INT ptr_alias_set = get_alias_set (ptr);
<dnovillo> if (ptr_alias_set == var_alias_set)
Diego.
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=17252
^ permalink raw reply [flat|nested] 17+ messages in thread
* [Bug tree-optimization/17252] [3.5 Regression] not marking char types as aliasing anything
2004-08-31 19:35 [Bug tree-optimization/17252] New: [3.5 Regression] LIM can create wrong code because of aliasing pinskia at gcc dot gnu dot org
` (9 preceding siblings ...)
2004-08-31 23:26 ` dnovillo at redhat dot com
@ 2004-09-01 0:17 ` pinskia at gcc dot gnu dot org
2004-09-15 2:58 ` [Bug tree-optimization/17252] [4.0 " cvs-commit at gcc dot gnu dot org
` (4 subsequent siblings)
15 siblings, 0 replies; 17+ messages in thread
From: pinskia at gcc dot gnu dot org @ 2004-09-01 0:17 UTC (permalink / raw)
To: gcc-bugs
------- Additional Comments From pinskia at gcc dot gnu dot org 2004-09-01 00:17 -------
Yes that patch fixed it, thanks Diego.
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=17252
^ permalink raw reply [flat|nested] 17+ messages in thread
* [Bug tree-optimization/17252] [4.0 Regression] not marking char types as aliasing anything
2004-08-31 19:35 [Bug tree-optimization/17252] New: [3.5 Regression] LIM can create wrong code because of aliasing pinskia at gcc dot gnu dot org
` (10 preceding siblings ...)
2004-09-01 0:17 ` pinskia at gcc dot gnu dot org
@ 2004-09-15 2:58 ` cvs-commit at gcc dot gnu dot org
2004-09-15 3:03 ` dnovillo at gcc dot gnu dot org
` (3 subsequent siblings)
15 siblings, 0 replies; 17+ messages in thread
From: cvs-commit at gcc dot gnu dot org @ 2004-09-15 2:58 UTC (permalink / raw)
To: gcc-bugs
------- Additional Comments From cvs-commit at gcc dot gnu dot org 2004-09-15 02:58 -------
Subject: Bug 17252
CVSROOT: /cvs/gcc
Module name: gcc
Changes by: dnovillo@gcc.gnu.org 2004-09-15 02:58:28
Modified files:
gcc : ChangeLog tree-ssa-alias.c
gcc/testsuite : ChangeLog
Added files:
gcc/testsuite/gcc.c-torture/execute: pr17252.c
Log message:
PR tree-optimization/17252
* tree-ssa-alias.c (may_alias_p): Don't assume that a
pointer may not point to itself when using relaxed
aliasing rules.
testsuite/ChangeLog
PR tree-optimization/17252
* gcc.c-torture/execute/pr17252.c: New test.
Patches:
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/ChangeLog.diff?cvsroot=gcc&r1=2.5452&r2=2.5453
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/tree-ssa-alias.c.diff?cvsroot=gcc&r1=2.34&r2=2.35
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/testsuite/ChangeLog.diff?cvsroot=gcc&r1=1.4289&r2=1.4290
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/testsuite/gcc.c-torture/execute/pr17252.c.diff?cvsroot=gcc&r1=NONE&r2=1.1
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=17252
^ permalink raw reply [flat|nested] 17+ messages in thread
* [Bug tree-optimization/17252] [4.0 Regression] not marking char types as aliasing anything
2004-08-31 19:35 [Bug tree-optimization/17252] New: [3.5 Regression] LIM can create wrong code because of aliasing pinskia at gcc dot gnu dot org
` (11 preceding siblings ...)
2004-09-15 2:58 ` [Bug tree-optimization/17252] [4.0 " cvs-commit at gcc dot gnu dot org
@ 2004-09-15 3:03 ` dnovillo at gcc dot gnu dot org
2004-09-16 21:23 ` danglin at gcc dot gnu dot org
` (2 subsequent siblings)
15 siblings, 0 replies; 17+ messages in thread
From: dnovillo at gcc dot gnu dot org @ 2004-09-15 3:03 UTC (permalink / raw)
To: gcc-bugs
------- Additional Comments From dnovillo at gcc dot gnu dot org 2004-09-15 03:03 -------
Fix: http://gcc.gnu.org/ml/gcc-patches/2004-09/msg01509.html
--
What |Removed |Added
----------------------------------------------------------------------------
Status|NEW |RESOLVED
Resolution| |FIXED
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=17252
^ permalink raw reply [flat|nested] 17+ messages in thread
* [Bug tree-optimization/17252] [4.0 Regression] not marking char types as aliasing anything
2004-08-31 19:35 [Bug tree-optimization/17252] New: [3.5 Regression] LIM can create wrong code because of aliasing pinskia at gcc dot gnu dot org
` (12 preceding siblings ...)
2004-09-15 3:03 ` dnovillo at gcc dot gnu dot org
@ 2004-09-16 21:23 ` danglin at gcc dot gnu dot org
2004-09-16 21:26 ` dnovillo at redhat dot com
2004-09-17 6:34 ` danglin at gcc dot gnu dot org
15 siblings, 0 replies; 17+ messages in thread
From: danglin at gcc dot gnu dot org @ 2004-09-16 21:23 UTC (permalink / raw)
To: gcc-bugs
------- Additional Comments From danglin at gcc dot gnu dot org 2004-09-16 21:23 -------
The test for this PR fails on big-endian machines. The following doesn't
change what 'a' is pointing to:
/* Change what 'a' is pointing to. */
a[0] = 0;
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=17252
^ permalink raw reply [flat|nested] 17+ messages in thread
* [Bug tree-optimization/17252] [4.0 Regression] not marking char types as aliasing anything
2004-08-31 19:35 [Bug tree-optimization/17252] New: [3.5 Regression] LIM can create wrong code because of aliasing pinskia at gcc dot gnu dot org
` (13 preceding siblings ...)
2004-09-16 21:23 ` danglin at gcc dot gnu dot org
@ 2004-09-16 21:26 ` dnovillo at redhat dot com
2004-09-17 6:34 ` danglin at gcc dot gnu dot org
15 siblings, 0 replies; 17+ messages in thread
From: dnovillo at redhat dot com @ 2004-09-16 21:26 UTC (permalink / raw)
To: gcc-bugs
------- Additional Comments From dnovillo at redhat dot com 2004-09-16 21:26 -------
Subject: Re: [4.0 Regression] not marking
char types as aliasing anything
On Thu, 2004-09-16 at 17:23, danglin at gcc dot gnu dot org wrote:
> ------- Additional Comments From danglin at gcc dot gnu dot org 2004-09-16 21:23 -------
> The test for this PR fails on big-endian machines. The following doesn't
> change what 'a' is pointing to:
>
> /* Change what 'a' is pointing to. */
> a[0] = 0;
>
Richard Guenther suggested changing that to a[0]++. Seems reasonable to
me. Could you try with that and see if that works?
Thanks. Diego.
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=17252
^ permalink raw reply [flat|nested] 17+ messages in thread
* [Bug tree-optimization/17252] [4.0 Regression] not marking char types as aliasing anything
2004-08-31 19:35 [Bug tree-optimization/17252] New: [3.5 Regression] LIM can create wrong code because of aliasing pinskia at gcc dot gnu dot org
` (14 preceding siblings ...)
2004-09-16 21:26 ` dnovillo at redhat dot com
@ 2004-09-17 6:34 ` danglin at gcc dot gnu dot org
15 siblings, 0 replies; 17+ messages in thread
From: danglin at gcc dot gnu dot org @ 2004-09-17 6:34 UTC (permalink / raw)
To: gcc-bugs
------- Additional Comments From danglin at gcc dot gnu dot org 2004-09-17 06:34 -------
This fixes the fails for this test on hppa-unknown-linux-gnu.
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=17252
^ permalink raw reply [flat|nested] 17+ messages in thread
end of thread, other threads:[~2004-09-17 6:34 UTC | newest]
Thread overview: 17+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2004-08-31 19:35 [Bug tree-optimization/17252] New: [3.5 Regression] LIM can create wrong code because of aliasing pinskia at gcc dot gnu dot org
2004-08-31 19:36 ` [Bug tree-optimization/17252] " pinskia at gcc dot gnu dot org
2004-08-31 21:07 ` pinskia at gcc dot gnu dot org
2004-08-31 22:22 ` pinskia at gcc dot gnu dot org
2004-08-31 22:50 ` dnovillo at gcc dot gnu dot org
2004-08-31 23:01 ` pinskia at gcc dot gnu dot org
2004-08-31 23:05 ` [Bug tree-optimization/17252] [3.5 Regression] not marking char types as aliasing anything pinskia at gcc dot gnu dot org
2004-08-31 23:07 ` dnovillo at redhat dot com
2004-08-31 23:11 ` pinskia at gcc dot gnu dot org
2004-08-31 23:21 ` pinskia at gcc dot gnu dot org
2004-08-31 23:26 ` dnovillo at redhat dot com
2004-09-01 0:17 ` pinskia at gcc dot gnu dot org
2004-09-15 2:58 ` [Bug tree-optimization/17252] [4.0 " cvs-commit at gcc dot gnu dot org
2004-09-15 3:03 ` dnovillo at gcc dot gnu dot org
2004-09-16 21:23 ` danglin at gcc dot gnu dot org
2004-09-16 21:26 ` dnovillo at redhat dot com
2004-09-17 6:34 ` danglin at gcc dot gnu dot org
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).