From: Richard Biener Date: Wed, 10 Oct 2012 08:48:47 +0000 (+0000) Subject: re PR bootstrap/54876 (LTO bootstrap broken, streaming garbage-collected BLOCK) X-Git-Tag: misc/gccgo-go1_1_2~283 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=176ae843e6fb30c60ee020accacb5e3cf95e3c77;p=thirdparty%2Fgcc.git re PR bootstrap/54876 (LTO bootstrap broken, streaming garbage-collected BLOCK) 2012-10-10 Richard Biener 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. From-SVN: r192293 --- diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 153abd42e53f..c21398d27a0b 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,10 @@ +2012-10-10 Richard Biener + + 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. + 2012-10-10 Andreas Krebbel * config.gcc: Enable zEC12 for with-arch and with-tune diff --git a/gcc/ipa-prop.c b/gcc/ipa-prop.c index fb2346bdc452..714dd8f7bcb8 100644 --- a/gcc/ipa-prop.c +++ b/gcc/ipa-prop.c @@ -287,6 +287,18 @@ ipa_print_all_jump_functions (FILE *f) } } +/* Worker for prune_expression_for_jf. */ + +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; +} + /* Return the expression tree EXPR unshared and with location stripped off. */ static tree @@ -295,7 +307,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; }