aboutsummaryrefslogtreecommitdiff
path: root/gcc/tree-cfg.c
diff options
context:
space:
mode:
authorRichard Biener <rguenther@suse.de>2019-02-22 17:56:59 +0000
committerRichard Biener <rguenth@gcc.gnu.org>2019-02-22 17:56:59 +0000
commitc87cc0c01e374c992d4085990bb0f65fbaf33128 (patch)
treeeb8d0aa52f1d63d4d1241128bcd0c3dd079b1e58 /gcc/tree-cfg.c
parenteb319c505d0bc3497170b5cdaeaf774a67594ae3 (diff)
downloadgcc-c87cc0c01e374c992d4085990bb0f65fbaf33128.zip
gcc-c87cc0c01e374c992d4085990bb0f65fbaf33128.tar.gz
gcc-c87cc0c01e374c992d4085990bb0f65fbaf33128.tar.bz2
re PR tree-optimization/87609 (miscompilation with restrict and loop)
2019-02-22 Richard Biener <rguenther@suse.de> PR tree-optimization/87609 * tree-cfg.c (gimple_duplicate_bb): Only remap inlined cliques. From-SVN: r269127
Diffstat (limited to 'gcc/tree-cfg.c')
-rw-r--r--gcc/tree-cfg.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/gcc/tree-cfg.c b/gcc/tree-cfg.c
index eac7027..088fc7b 100644
--- a/gcc/tree-cfg.c
+++ b/gcc/tree-cfg.c
@@ -6229,6 +6229,8 @@ gimple_duplicate_bb (basic_block bb, copy_bb_data *id)
DECL_NONSHAREABLE (base) = 1;
}
+ /* If requested remap dependence info of cliques brought in
+ via inlining. */
if (id)
for (unsigned i = 0; i < gimple_num_ops (copy); ++i)
{
@@ -6242,7 +6244,7 @@ gimple_duplicate_bb (basic_block bb, copy_bb_data *id)
op = TREE_OPERAND (op, 0);
if ((TREE_CODE (op) == MEM_REF
|| TREE_CODE (op) == TARGET_MEM_REF)
- && MR_DEPENDENCE_CLIQUE (op) != 0)
+ && MR_DEPENDENCE_CLIQUE (op) > 1)
{
if (!id->dependence_map)
id->dependence_map = new hash_map<dependence_hash,