summaryrefslogtreecommitdiff
path: root/gcc/tree-ssa-structalias.c
diff options
context:
space:
mode:
authorrguenth <rguenth@138bc75d-0d04-0410-961f-82ee72b054a4>2014-07-08 09:04:29 +0000
committerrguenth <rguenth@138bc75d-0d04-0410-961f-82ee72b054a4>2014-07-08 09:04:29 +0000
commit8798f0ab16337490af6ed843dca3cdf507b049ee (patch)
tree1bcbe66ca04560818c01cb37d55bfeca1b3eebc8 /gcc/tree-ssa-structalias.c
parent5a91be9e0306541265585e96d42dfa5b300accfe (diff)
downloadgcc-8798f0ab16337490af6ed843dca3cdf507b049ee.tar.gz
2014-07-08 Richard Biener <rguenther@suse.de>
PR tree-optimization/61681 * tree-ssa-structalias.c (find_what_var_points_to): Expand NONLOCAL inside ESCAPED. * gcc.dg/torture/pr61681.c: New testcase. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@212349 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/tree-ssa-structalias.c')
-rw-r--r--gcc/tree-ssa-structalias.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/gcc/tree-ssa-structalias.c b/gcc/tree-ssa-structalias.c
index 0472239f5b0..221877e955f 100644
--- a/gcc/tree-ssa-structalias.c
+++ b/gcc/tree-ssa-structalias.c
@@ -6106,6 +6106,10 @@ find_what_var_points_to (varinfo_t orig_vi)
pt->ipa_escaped = 1;
else
pt->escaped = 1;
+ /* Expand some special vars of ESCAPED in-place here. */
+ varinfo_t evi = get_varinfo (find (escaped_id));
+ if (bitmap_bit_p (evi->solution, nonlocal_id))
+ pt->nonlocal = 1;
}
else if (vi->id == nonlocal_id)
pt->nonlocal = 1;