diff options
author | Richard Biener <rguenther@suse.de> | 2019-02-22 17:56:59 +0000 |
---|---|---|
committer | Richard Biener <rguenth@gcc.gnu.org> | 2019-02-22 17:56:59 +0000 |
commit | c87cc0c01e374c992d4085990bb0f65fbaf33128 (patch) | |
tree | eb8d0aa52f1d63d4d1241128bcd0c3dd079b1e58 /gcc/tree-cfg.c | |
parent | eb319c505d0bc3497170b5cdaeaf774a67594ae3 (diff) | |
download | gcc-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.c | 4 |
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, |