diff options
author | Jeff Law <law@redhat.com> | 2019-06-21 10:36:00 -0600 |
---|---|---|
committer | Jeff Law <law@gcc.gnu.org> | 2019-06-21 10:36:00 -0600 |
commit | 84338a14985c5f7b064a181180d221be16019978 (patch) | |
tree | 088907659d2a6de6d4f20dd87360f8ec8a2399af /gcc/tree-ssa-copy.c | |
parent | 1296eaf6ed32a3474f39b34dc0af6583a2d80096 (diff) | |
download | gcc-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.c | 11 |
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) |