[Bug tree-optimization/34138] [4.3 Regression] verify_ssa failed (found real variable when subvariables should have appeared)

2007-12-05 Thread rguenth at gcc dot gnu dot org


--- Comment #12 from rguenth at gcc dot gnu dot org  2007-12-05 21:45 
---
Fixed.


-- 

rguenth at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|ASSIGNED|RESOLVED
 Resolution||FIXED


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=34138



[Bug tree-optimization/34138] [4.3 Regression] verify_ssa failed (found real variable when subvariables should have appeared)

2007-12-05 Thread rguenth at gcc dot gnu dot org


--- Comment #11 from rguenth at gcc dot gnu dot org  2007-12-05 21:45 
---
Subject: Bug 34138

Author: rguenth
Date: Wed Dec  5 21:45:15 2007
New Revision: 130632

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=130632
Log:
2007-12-05  Richard Guenther  <[EMAIL PROTECTED]>

PR tree-optimization/34138
* tree-ssa-forwprop.c (tree_ssa_forward_propagate_single_use_vars):
Do not forward propagate addresses if that changes volatileness of
the pointed-to type.

* gcc.c-torture/compile/pr34138.c: New testcase.

Added:
trunk/gcc/testsuite/gcc.c-torture/compile/pr34138.c
Modified:
trunk/gcc/ChangeLog
trunk/gcc/testsuite/ChangeLog
trunk/gcc/tree-ssa-forwprop.c


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=34138



[Bug tree-optimization/34138] [4.3 Regression] verify_ssa failed (found real variable when subvariables should have appeared)

2007-12-05 Thread rguenth at gcc dot gnu dot org


--- Comment #10 from rguenth at gcc dot gnu dot org  2007-12-05 20:16 
---
Another fallout of the PR33604 fix.


-- 

rguenth at gcc dot gnu dot org changed:

   What|Removed |Added

OtherBugsDependingO||33604
  nThis||
 AssignedTo|unassigned at gcc dot gnu   |rguenth at gcc dot gnu dot
   |dot org |org
 Status|NEW |ASSIGNED
   Last reconfirmed|2007-11-18 14:37:59 |2007-12-05 20:16:43
   date||


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=34138



[Bug tree-optimization/34138] [4.3 Regression] verify_ssa failed (found real variable when subvariables should have appeared)

2007-12-05 Thread rguenth at gcc dot gnu dot org


--- Comment #9 from rguenth at gcc dot gnu dot org  2007-12-05 19:49 ---
Because shellparam somehow becomes volatile after it got subvars assigned.  Now
onto why TF that happens...


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=34138



[Bug tree-optimization/34138] [4.3 Regression] verify_ssa failed (found real variable when subvariables should have appeared)

2007-12-05 Thread rguenth at gcc dot gnu dot org


--- Comment #8 from rguenth at gcc dot gnu dot org  2007-12-05 19:21 ---
The SMT.39 (for char *) has aliases shellparam, SFT.31 and SFT.32 where
shellparam is the parent var of SFT.31 and SFT.32 -- this is the bug.

I will investigate why this happens.


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=34138



[Bug tree-optimization/34138] [4.3 Regression] verify_ssa failed (found real variable when subvariables should have appeared)

2007-12-05 Thread rguenth at gcc dot gnu dot org


--- Comment #7 from rguenth at gcc dot gnu dot org  2007-12-05 19:11 ---
extern void free (void *__ptr);
struct shparam
{
  char **p;
  int foo;
};
static struct shparam shellparam;
inline void freeparam (volatile struct shparam *param, char **ap)
{
  free ((void *) (*ap));
  free ((void *) (param->p));
}
void dotcmd (char **p)
{
  freeparam (&shellparam, p);
}
void evaltree (void)
{
  void (*evalfn) (char **);
  evalfn = dotcmd;
}

Still ICEs at -O2 for me.


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=34138



[Bug tree-optimization/34138] [4.3 Regression] verify_ssa failed (found real variable when subvariables should have appeared)

2007-12-05 Thread rguenth at gcc dot gnu dot org


--- Comment #6 from rguenth at gcc dot gnu dot org  2007-12-05 19:10 ---
The bug is at least masked by

2007-11-21  Richard Guenther  <[EMAIL PROTECTED]>

PR tree-optimization/34148
* tree-ssa-structalias.c (create_variable_info_for): Do not use
field-sensitive PTA for single-element structures.
* tree-ssa-alias.c (create_overlap_variables_for): Do not create
SFTs for single-element structures.

as the struct in the testcase has a single field.


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=34138



[Bug tree-optimization/34138] [4.3 Regression] verify_ssa failed (found real variable when subvariables should have appeared)

2007-12-05 Thread janis at gcc dot gnu dot org


--- Comment #5 from janis at gcc dot gnu dot org  2007-12-05 19:02 ---
I was going to do a regression hunt on this, but discovered that it doesn't
fail with current cross compilers for sparc-linux and i686-linux.  With
powerpc-linux it fails for 20071120 and passes for 20071130.


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=34138



[Bug tree-optimization/34138] [4.3 Regression] verify_ssa failed (found real variable when subvariables should have appeared)

2007-11-27 Thread mmitchel at gcc dot gnu dot org


-- 

mmitchel at gcc dot gnu dot org changed:

   What|Removed |Added

   Priority|P3  |P1


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=34138



[Bug tree-optimization/34138] [4.3 Regression] verify_ssa failed (found real variable when subvariables should have appeared)

2007-11-21 Thread tbm at gcc dot gnu dot org


--- Comment #4 from tbm at gcc dot gnu dot org  2007-11-22 07:32 ---
*** Bug 34179 has been marked as a duplicate of this bug. ***


-- 

tbm at gcc dot gnu dot org changed:

   What|Removed |Added

 CC||dcb314 at hotmail dot com


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=34138



[Bug tree-optimization/34138] [4.3 Regression] verify_ssa failed (found real variable when subvariables should have appeared)

2007-11-18 Thread pinskia at gcc dot gnu dot org


-- 

pinskia at gcc dot gnu dot org changed:

   What|Removed |Added

 CC||pinskia at gcc dot gnu dot
   ||org
   Target Milestone|--- |4.3.0


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=34138



[Bug tree-optimization/34138] [4.3 Regression] verify_ssa failed (found real variable when subvariables should have appeared)

2007-11-18 Thread rguenth at gcc dot gnu dot org


--- Comment #3 from rguenth at gcc dot gnu dot org  2007-11-18 14:37 ---
Confirmed.  Also happens on i686.

verify_ssa is after PRE in function dotcmd.  -O2 is enough to trigger the
failure if you mark freeparam inline.


-- 

rguenth at gcc dot gnu dot org changed:

   What|Removed |Added

 CC||rguenth at gcc dot gnu dot
   ||org
 Status|UNCONFIRMED |NEW
 Ever Confirmed|0   |1
 GCC target triplet|sparc-linux-gnu |
   Last reconfirmed|-00-00 00:00:00 |2007-11-18 14:37:59
   date||


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=34138



[Bug tree-optimization/34138] [4.3 Regression] verify_ssa failed (found real variable when subvariables should have appeared)

2007-11-18 Thread tbm at cyrius dot com


--- Comment #2 from tbm at cyrius dot com  2007-11-18 10:16 ---
/* Testcase by Martin Michlmayr <[EMAIL PROTECTED]> */

extern void free (void *__ptr);
struct shparam
{
  char **p;
};
static struct shparam shellparam;
void freeparam (volatile struct shparam *param, char **ap)
{
  free ((void *) (*ap));
  free ((void *) (param->p));
}
void dotcmd (char **p)
{
  freeparam (&shellparam, p);
}
void evaltree (void)
{
  void (*evalfn) (char **);
  evalfn = dotcmd;
}


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=34138



[Bug tree-optimization/34138] [4.3 Regression] verify_ssa failed (found real variable when subvariables should have appeared)

2007-11-18 Thread tbm at cyrius dot com


--- Comment #1 from tbm at cyrius dot com  2007-11-18 10:15 ---
Created an attachment (id=14574)
 --> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=14574&action=view)
preprocessed source


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=34138