When changing reg_known_value to a VEC, Steven sneaked in a small semantic change. That change has the advantage of improving compilation time substantially on some testcases (including PR55489), but it is a bit heavy-handed: it also makes set_known_reg_value a no-op, while get_known_reg_value will always return NULL.
This patch fixes the VEC usage. Bootstrap/regtest in progress, but I'm going to commit this as obvious as soon as bootstrapping finishes. Paolo 2012-11-26 Paolo Bonzini <pbonz...@redhat.com> * alias.c (init_alias_analysis): Fix allocation of reg_known_value. Index: ../../gcc/alias.c =================================================================== --- ../../gcc/alias.c (revisione 193853) +++ ../../gcc/alias.c (copia locale) @@ -2808,7 +2808,7 @@ init_alias_analysis (void) timevar_push (TV_ALIAS_ANALYSIS); - vec_alloc (reg_known_value, maxreg - FIRST_PSEUDO_REGISTER); + vec_safe_grow_cleared (reg_known_value, maxreg - FIRST_PSEUDO_REGISTER); reg_known_equiv_p = sbitmap_alloc (maxreg - FIRST_PSEUDO_REGISTER); /* If we have memory allocated from the previous run, use it. */