Ensure points-to information is maintained for prefetch.
gcc/ PR tree-optimization/77654 * tree-ssa-alias.c (issue_prefetch_ref): Add call to duplicate_ssa_name_ptr_info. From-SVN: r240439
This commit is contained in:
parent
0af06385d3
commit
ed481942e3
@ -1,3 +1,9 @@
|
||||
2016-09-23 Doug Gilmore <doug.gilmore@imgtec.com>
|
||||
|
||||
PR tree-optimization/77654
|
||||
* tree-ssa-alias.c (issue_prefetch_ref): Add call
|
||||
to duplicate_ssa_name_ptr_info.
|
||||
|
||||
2016-09-23 David Malcolm <dmalcolm@redhat.com>
|
||||
|
||||
PR preprocessor/77672
|
||||
|
@ -39,6 +39,7 @@ along with GCC; see the file COPYING3. If not see
|
||||
#include "tree-ssa-loop-manip.h"
|
||||
#include "tree-ssa-loop-niter.h"
|
||||
#include "tree-ssa-loop.h"
|
||||
#include "ssa.h"
|
||||
#include "tree-into-ssa.h"
|
||||
#include "cfgloop.h"
|
||||
#include "tree-scalar-evolution.h"
|
||||
@ -1160,6 +1161,17 @@ issue_prefetch_ref (struct mem_ref *ref, unsigned unroll_factor, unsigned ahead)
|
||||
addr = force_gimple_operand_gsi (&bsi, unshare_expr (addr), true,
|
||||
NULL, true, GSI_SAME_STMT);
|
||||
}
|
||||
|
||||
if (TREE_CODE (addr_base) == SSA_NAME
|
||||
&& TREE_CODE (addr) == SSA_NAME)
|
||||
{
|
||||
duplicate_ssa_name_ptr_info (addr, SSA_NAME_PTR_INFO (addr_base));
|
||||
/* As this isn't a plain copy we have to reset alignment
|
||||
information. */
|
||||
if (SSA_NAME_PTR_INFO (addr))
|
||||
mark_ptr_info_alignment_unknown (SSA_NAME_PTR_INFO (addr));
|
||||
}
|
||||
|
||||
/* Create the prefetch instruction. */
|
||||
prefetch = gimple_build_call (builtin_decl_explicit (BUILT_IN_PREFETCH),
|
||||
3, addr, write_p, local);
|
||||
|
Loading…
Reference in New Issue
Block a user