diff options
author | Richard Biener <rguenther@suse.de> | 2020-08-27 11:48:15 +0200 |
---|---|---|
committer | Richard Biener <rguenther@suse.de> | 2020-08-27 14:25:55 +0200 |
commit | eb68d9d828f94d28afa5900fbf3072bbcd64ba8a (patch) | |
tree | 98453eeb9ed43135a20f67b3aa90d011c4b2265d /gcc/tree-ssa-sccvn.c | |
parent | cb3874dcf82bc80c2552ef62f57cf08c28fc686a (diff) |
tree-optimization/96522 - transfer of flow-sensitive info in copy_ref_info
This removes the bogus tranfer of flow-sensitive info in copy_ref_info
plus fixes one oversight in FRE when flow-sensitive non-NULLness was added to
points-to info.
2020-08-27 Richard Biener <rguenther@suse.de>
PR tree-optimization/96522
* tree-ssa-address.c (copy_ref_info): Reset flow-sensitive
info of the copied points-to. Transfer bigger alignment
via the access type.
* tree-ssa-sccvn.c (eliminate_dom_walker::eliminate_stmt):
Reset all flow-sensitive info.
* gcc.dg/torture/pr96522.c: New testcase.
Diffstat (limited to 'gcc/tree-ssa-sccvn.c')
-rw-r--r-- | gcc/tree-ssa-sccvn.c | 3 |
1 files changed, 1 insertions, 2 deletions
diff --git a/gcc/tree-ssa-sccvn.c b/gcc/tree-ssa-sccvn.c index c5f4a1e53a9..8fbb1dd46d1 100644 --- a/gcc/tree-ssa-sccvn.c +++ b/gcc/tree-ssa-sccvn.c @@ -5860,8 +5860,7 @@ eliminate_dom_walker::eliminate_stmt (basic_block b, gimple_stmt_iterator *gsi) duplicate_ssa_name_ptr_info (sprime, SSA_NAME_PTR_INFO (lhs)); if (b != sprime_b) - mark_ptr_info_alignment_unknown - (SSA_NAME_PTR_INFO (sprime)); + reset_flow_sensitive_info (sprime); } else if (INTEGRAL_TYPE_P (TREE_TYPE (lhs)) && SSA_NAME_RANGE_INFO (lhs) |