Commit 6b412bf6 by Richard Biener Committed by Richard Biener

2020-01-10 Richard Biener <rguenther@suse.de>

	* gimple-ssa-store-merging
	(pass_store_merging::terminate_all_aliasing_chains): Cache alias info.

From-SVN: r280106
parent bd6e6e0a
2020-01-10 Richard Biener <rguenther@suse.de>
* gimple-ssa-store-merging
(pass_store_merging::terminate_all_aliasing_chains): Cache alias info.
2020-01-10 Martin Liska <mliska@suse.cz> 2020-01-10 Martin Liska <mliska@suse.cz>
PR ipa/93217 PR ipa/93217
......
...@@ -2219,6 +2219,8 @@ pass_store_merging::terminate_all_aliasing_chains (imm_store_chain_info ...@@ -2219,6 +2219,8 @@ pass_store_merging::terminate_all_aliasing_chains (imm_store_chain_info
return false; return false;
tree store_lhs = gimple_store_p (stmt) ? gimple_get_lhs (stmt) : NULL_TREE; tree store_lhs = gimple_store_p (stmt) ? gimple_get_lhs (stmt) : NULL_TREE;
ao_ref store_lhs_ref;
ao_ref_init (&store_lhs_ref, store_lhs);
for (imm_store_chain_info *next = m_stores_head, *cur = next; cur; cur = next) for (imm_store_chain_info *next = m_stores_head, *cur = next; cur; cur = next)
{ {
next = cur->next; next = cur->next;
...@@ -2233,9 +2235,12 @@ pass_store_merging::terminate_all_aliasing_chains (imm_store_chain_info ...@@ -2233,9 +2235,12 @@ pass_store_merging::terminate_all_aliasing_chains (imm_store_chain_info
FOR_EACH_VEC_ELT (cur->m_store_info, i, info) FOR_EACH_VEC_ELT (cur->m_store_info, i, info)
{ {
tree lhs = gimple_assign_lhs (info->stmt); tree lhs = gimple_assign_lhs (info->stmt);
if (ref_maybe_used_by_stmt_p (stmt, lhs) ao_ref lhs_ref;
|| stmt_may_clobber_ref_p (stmt, lhs) ao_ref_init (&lhs_ref, lhs);
|| (store_lhs && refs_output_dependent_p (store_lhs, lhs))) if (ref_maybe_used_by_stmt_p (stmt, &lhs_ref)
|| stmt_may_clobber_ref_p_1 (stmt, &lhs_ref)
|| (store_lhs && refs_may_alias_p_1 (&store_lhs_ref,
&lhs_ref, false)))
{ {
if (dump_file && (dump_flags & TDF_DETAILS)) if (dump_file && (dump_flags & TDF_DETAILS))
{ {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment