aboutsummaryrefslogtreecommitdiff
path: root/gcc/tree-ssa-copy.c
diff options
context:
space:
mode:
authorJeff Law <law@redhat.com>2019-06-21 10:36:00 -0600
committerJeff Law <law@gcc.gnu.org>2019-06-21 10:36:00 -0600
commit84338a14985c5f7b064a181180d221be16019978 (patch)
tree088907659d2a6de6d4f20dd87360f8ec8a2399af /gcc/tree-ssa-copy.c
parent1296eaf6ed32a3474f39b34dc0af6583a2d80096 (diff)
downloadgcc-84338a14985c5f7b064a181180d221be16019978.zip
gcc-84338a14985c5f7b064a181180d221be16019978.tar.gz
gcc-84338a14985c5f7b064a181180d221be16019978.tar.bz2
re PR tree-optimization/90949 (null pointer check removed)
PR tree-optimization/90949 * tree-ssa-copy.c (fini_copy_prop): Use reset_flow_sensitive_info. * tree-ssanames.c (reset_flow_sensitive_info): Reset non-null state. * gcc.c-torture/execute/pr90949.c: New test. From-SVN: r272555
Diffstat (limited to 'gcc/tree-ssa-copy.c')
-rw-r--r--gcc/tree-ssa-copy.c11
1 files changed, 5 insertions, 6 deletions
diff --git a/gcc/tree-ssa-copy.c b/gcc/tree-ssa-copy.c
index 8953263..28ff8d3 100644
--- a/gcc/tree-ssa-copy.c
+++ b/gcc/tree-ssa-copy.c
@@ -545,13 +545,12 @@ fini_copy_prop (void)
duplicate_ssa_name_ptr_info (copy_of[i].value,
SSA_NAME_PTR_INFO (var));
/* Points-to information is cfg insensitive,
- but alignment info might be cfg sensitive, if it
- e.g. is derived from VRP derived non-zero bits.
- So, do not copy alignment info if the two SSA_NAMEs
- aren't defined in the same basic block. */
+ but [E]VRP might record context sensitive alignment
+ info, non-nullness, etc. So reset context sensitive
+ info if the two SSA_NAMEs aren't defined in the same
+ basic block. */
if (var_bb != copy_of_bb)
- mark_ptr_info_alignment_unknown
- (SSA_NAME_PTR_INFO (copy_of[i].value));
+ reset_flow_sensitive_info (copy_of[i].value);
}
else if (!POINTER_TYPE_P (TREE_TYPE (var))
&& SSA_NAME_RANGE_INFO (var)