diff options
author | Jan Hubicka <jh@suse.cz> | 2010-04-21 16:41:50 +0200 |
---|---|---|
committer | Jan Hubicka <hubicka@gcc.gnu.org> | 2010-04-21 14:41:50 +0000 |
commit | dd6d1ad715541f538a82090a8480412dde0169db (patch) | |
tree | 13fe273a15252426c76c21def9ed7cae3f787c4c /gcc | |
parent | c9945504c9d6e69b961da97948a5b7e40404f10b (diff) | |
download | gcc-dd6d1ad715541f538a82090a8480412dde0169db.zip gcc-dd6d1ad715541f538a82090a8480412dde0169db.tar.gz gcc-dd6d1ad715541f538a82090a8480412dde0169db.tar.bz2 |
* ipa-prop.c (ipa_edge_removal_hook): Check for bounds.
From-SVN: r158610
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ChangeLog | 4 | ||||
-rw-r--r-- | gcc/ipa-prop.c | 4 |
2 files changed, 8 insertions, 0 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 13ac239..277e348 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,5 +1,9 @@ 2010-04-21 Jan Hubicka <jh@suse.cz> + * ipa-prop.c (ipa_edge_removal_hook): Check for bounds. + +2010-04-21 Jan Hubicka <jh@suse.cz> + * varpool.c (decide_is_variable_needed): Variable is always needed during ltrans. diff --git a/gcc/ipa-prop.c b/gcc/ipa-prop.c index ec9f63d..af00175 100644 --- a/gcc/ipa-prop.c +++ b/gcc/ipa-prop.c @@ -1260,6 +1260,10 @@ ipa_edge_removal_hook (struct cgraph_edge *cs, void *data ATTRIBUTE_UNUSED) static void ipa_node_removal_hook (struct cgraph_node *node, void *data ATTRIBUTE_UNUSED) { + /* During IPA-CP updating we can be called on not-yet analyze clones. */ + if (VEC_length (ipa_node_params_t, ipa_node_params_vector) + <= (unsigned)node->uid) + return; ipa_free_node_params_substructures (IPA_NODE_REF (node)); } |