[Bug tree-optimization/34138] [4.3 Regression] verify_ssa failed (found real variable when subvariables should have appeared)
--- 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)
--- 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)
--- 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)
--- 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)
--- 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)
--- 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)
--- 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)
--- 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)
-- 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)
--- 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)
-- 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)
--- 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)
--- 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)
--- 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