summaryrefslogtreecommitdiff
path: root/gcc/ipa-profile.c
diff options
context:
space:
mode:
authorhubicka <hubicka@138bc75d-0d04-0410-961f-82ee72b054a4>2013-09-17 15:46:06 +0000
committerhubicka <hubicka@138bc75d-0d04-0410-961f-82ee72b054a4>2013-09-17 15:46:06 +0000
commit460140a500a541fa4d0978b741bb19cf13859a83 (patch)
tree114983054e860912f00de7bb086f99457a71972c /gcc/ipa-profile.c
parentf1ff006725799ca277daadc6500e19561561169d (diff)
downloadgcc-460140a500a541fa4d0978b741bb19cf13859a83.tar.gz
PR middle-end/58329
* ipa-devirt.c (ipa_devirt): Be ready for symtab_nonoverwritable_alias to return NULL. * ipa.c (function_and_variable_visibility): Likewise. * ipa-profile.c (ipa_profile): Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202657 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/ipa-profile.c')
-rw-r--r--gcc/ipa-profile.c8
1 files changed, 7 insertions, 1 deletions
diff --git a/gcc/ipa-profile.c b/gcc/ipa-profile.c
index 2b22333d1b9..424e4a6b6fe 100644
--- a/gcc/ipa-profile.c
+++ b/gcc/ipa-profile.c
@@ -625,7 +625,13 @@ ipa_profile (void)
of N2. Speculate on the local alias to allow inlining.
*/
if (!symtab_can_be_discarded ((symtab_node) n2))
- n2 = cgraph (symtab_nonoverwritable_alias ((symtab_node)n2));
+ {
+ cgraph_node *alias;
+ alias = cgraph (symtab_nonoverwritable_alias
+ ((symtab_node)n2));
+ if (alias)
+ n2 = alias;
+ }
nconverted++;
cgraph_turn_edge_to_speculative
(e, n2,