aboutsummaryrefslogtreecommitdiff
path: root/gcc/tree-ssa-structalias.c
diff options
context:
space:
mode:
authorRichard Biener <rguenther@suse.de>2017-03-27 10:50:55 +0000
committerRichard Biener <rguenth@gcc.gnu.org>2017-03-27 10:50:55 +0000
commitc5e5f5f6429b05b47110f8dea839ec055d69bb4f (patch)
tree436db44226b3bbc595fc9db8b13e1d3a7ecce101 /gcc/tree-ssa-structalias.c
parent7cd200f63f80396e9ddfe163a3fed86fd2aed672 (diff)
downloadgcc-c5e5f5f6429b05b47110f8dea839ec055d69bb4f.zip
gcc-c5e5f5f6429b05b47110f8dea839ec055d69bb4f.tar.gz
gcc-c5e5f5f6429b05b47110f8dea839ec055d69bb4f.tar.bz2
re PR ipa/79776 (ICE on valid code in insert_vi_for_tree, at tree-ssa-structalias.c:2807)
2017-03-27 Richard Biener <rguenther@suse.de> PR ipa/79776 * tree-ssa-structalias.c (associate_varinfo_to_alias): Skip inlined thunk clones. * g++.dg/ipa/pr79776.C: New testcase. From-SVN: r246494
Diffstat (limited to 'gcc/tree-ssa-structalias.c')
-rw-r--r--gcc/tree-ssa-structalias.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/gcc/tree-ssa-structalias.c b/gcc/tree-ssa-structalias.c
index c043e5e..aab6821 100644
--- a/gcc/tree-ssa-structalias.c
+++ b/gcc/tree-ssa-structalias.c
@@ -7615,7 +7615,9 @@ struct pt_solution ipa_escaped_pt
static bool
associate_varinfo_to_alias (struct cgraph_node *node, void *data)
{
- if ((node->alias || node->thunk.thunk_p)
+ if ((node->alias
+ || (node->thunk.thunk_p
+ && ! node->global.inlined_to))
&& node->analyzed)
insert_vi_for_tree (node->decl, (varinfo_t)data);
return false;