[Bug bootstrap/54876] [4.8 Regression] LTO bootstrap broken, streaming garbage-collected BLOCK
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54876 --- Comment #5 from Richard Biener rguenth at gcc dot gnu.org 2012-10-10 08:48:56 UTC --- Author: rguenth Date: Wed Oct 10 08:48:47 2012 New Revision: 192293 URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=192293 Log: 2012-10-10 Richard Biener rguent...@suse.de PR middle-end/54876 * ipa-prop.c (prune_expression_for_jf_1): New function. (prune_expression_for_jf): Clear EXPR_LOCATION for all sub-expressions as well. Modified: trunk/gcc/ChangeLog trunk/gcc/ipa-prop.c
[Bug bootstrap/54876] [4.8 Regression] LTO bootstrap broken, streaming garbage-collected BLOCK
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54876 Richard Biener rguenth at gcc dot gnu.org changed: What|Removed |Added Status|ASSIGNED|RESOLVED Resolution||FIXED --- Comment #6 from Richard Biener rguenth at gcc dot gnu.org 2012-10-10 08:50:58 UTC --- Fixed.
[Bug bootstrap/54876] [4.8 Regression] LTO bootstrap broken, streaming garbage-collected BLOCK
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54876 Richard Biener rguenth at gcc dot gnu.org changed: What|Removed |Added Status|UNCONFIRMED |ASSIGNED Last reconfirmed||2012-10-09 AssignedTo|unassigned at gcc dot |rguenth at gcc dot gnu.org |gnu.org | Target Milestone|--- |4.8.0 Ever Confirmed|0 |1 --- Comment #1 from Richard Biener rguenth at gcc dot gnu.org 2012-10-09 15:24:26 UTC --- Like the following: Index: gcc/ipa-prop.c === --- gcc/ipa-prop.c (revision 192255) +++ gcc/ipa-prop.c (working copy) @@ -287,6 +287,16 @@ ipa_print_all_jump_functions (FILE *f) } } +/* Worker for prune_expression_for_jf. */ + +static tree +prune_expression_for_jf_1 (tree *tp, int *, void *) +{ + if (EXPR_P (*tp)) +SET_EXPR_LOCATION (*tp, UNKNOWN_LOCATION); + return *tp; +} + /* Return the expression tree EXPR unshared and with location stripped off. */ static tree @@ -295,7 +305,7 @@ prune_expression_for_jf (tree exp) if (EXPR_P (exp)) { exp = unshare_expr (exp); - SET_EXPR_LOCATION (exp, UNKNOWN_LOCATION); + walk_tree (exp, prune_expression_for_jf_1, NULL, NULL); } return exp; } not sure if we shouldn't simply bite the bullet and identify whether we stream to a non-function section and drop LOCATION_BLOCK there during streaming itself. Testing the above now.
[Bug bootstrap/54876] [4.8 Regression] LTO bootstrap broken, streaming garbage-collected BLOCK
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54876 --- Comment #2 from Richard Biener rguenth at gcc dot gnu.org 2012-10-09 15:29:12 UTC --- Err, static tree prune_expression_for_jf_1 (tree *tp, int *walk_subtrees, void *) { if (EXPR_P (*tp)) SET_EXPR_LOCATION (*tp, UNKNOWN_LOCATION); else *walk_subtrees = 0; return NULL_TREE; } of course.
[Bug bootstrap/54876] [4.8 Regression] LTO bootstrap broken, streaming garbage-collected BLOCK
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54876 Markus Trippelsdorf markus at trippelsdorf dot de changed: What|Removed |Added CC||markus at trippelsdorf dot ||de --- Comment #3 from Markus Trippelsdorf markus at trippelsdorf dot de 2012-10-09 16:45:22 UTC --- Offtopic, but who's Richard Biener?
[Bug bootstrap/54876] [4.8 Regression] LTO bootstrap broken, streaming garbage-collected BLOCK
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54876 --- Comment #4 from rguenther at suse dot de rguenther at suse dot de 2012-10-09 18:35:53 UTC --- markus at trippelsdorf dot de gcc-bugzi...@gcc.gnu.org wrote: http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54876 Markus Trippelsdorf markus at trippelsdorf dot de changed: What|Removed |Added CC||markus at trippelsdorf dot ||de --- Comment #3 from Markus Trippelsdorf markus at trippelsdorf dot de 2012-10-09 16:45:22 UTC --- Offtopic, but who's Richard Biener? That's me.