diff options
Diffstat (limited to 'gcc/tree-ssa-structalias.c')
-rw-r--r-- | gcc/tree-ssa-structalias.c | 12 |
1 files changed, 8 insertions, 4 deletions
diff --git a/gcc/tree-ssa-structalias.c b/gcc/tree-ssa-structalias.c index 2e6513b..35971a5 100644 --- a/gcc/tree-ssa-structalias.c +++ b/gcc/tree-ssa-structalias.c @@ -7550,8 +7550,8 @@ compute_points_to_sets (void) always escaped. */ if (uses_global_memory) { - pt->nonlocal = uses_global_memory; - pt->escaped = uses_global_memory; + pt->nonlocal = 1; + pt->escaped = 1; } } else if (uses_global_memory) @@ -7561,6 +7561,8 @@ compute_points_to_sets (void) *pt = cfun->gimple_df->escaped; pt->nonlocal = 1; } + else + memset (pt, 0, sizeof (struct pt_solution)); } pt = gimple_call_clobber_set (stmt); @@ -7582,8 +7584,8 @@ compute_points_to_sets (void) always escaped. */ if (writes_global_memory) { - pt->nonlocal = writes_global_memory; - pt->escaped = writes_global_memory; + pt->nonlocal = 1; + pt->escaped = 1; } } else if (writes_global_memory) @@ -7593,6 +7595,8 @@ compute_points_to_sets (void) *pt = cfun->gimple_df->escaped; pt->nonlocal = 1; } + else + memset (pt, 0, sizeof (struct pt_solution)); } } } |