[committed] Fix predcom (PR tree-optimization/59745)
Sun Jan 12 13:24:00 GMT 2014
On Fri, Jan 10, 2014 at 9:41 PM, Jakub Jelinek <email@example.com> wrote:
> split_data_refs_to_components used the name_expansions affine cache
> through determine_offset, and since my patch uses it even more often,
> but if it returns NULL, we don't free the cache and it can contain garbage
> next time we perform tree_predictive_commoning_loop.
> Bootstrapped/regtested on x86_64-linux and i686-linux, committed
> to trunk as obvious. No testcase for testsuite, as it is pretty
> random if we ICE or not, e.g. stage1 f951 doesn't ICE, but stage2/3 did.
Uh. Is this also applicable to branches?
Thanks for fixing this,
> 2014-01-10 Jakub Jelinek <firstname.lastname@example.org>
> PR tree-optimization/59745
> * tree-predcom.c (tree_predictive_commoning_loop): Call
> free_affine_expand_cache if giving up because components is NULL.
> --- gcc/tree-predcom.c.jj 2014-01-07 08:48:34.000000000 +0100
> +++ gcc/tree-predcom.c 2014-01-10 10:08:04.476340865 +0100
> @@ -2447,6 +2447,7 @@ tree_predictive_commoning_loop (struct l
> if (!components)
> free_data_refs (datarefs);
> + free_affine_expand_cache (&name_expansions);
> return false;
More information about the Gcc-patches