re PR tree-optimization/87609 (miscompilation with restrict and loop)
authorRichard Biener <rguenther@suse.de>
Fri, 22 Feb 2019 08:38:14 +0000 (08:38 +0000)
committerRichard Biener <rguenth@gcc.gnu.org>
Fri, 22 Feb 2019 08:38:14 +0000 (08:38 +0000)
commit229d576cde53ac4396583da3642ca969cca413d1
tree90ee3349ab449b0ce61e8104f5c1086026142119
parent3c8b06dcc68be1ba6dbb01fbbd32ba2a337dd3b8
re PR tree-optimization/87609 (miscompilation with restrict and loop)

2019-02-22  Richard Biener  <rguenther@suse.de>

PR middle-end/87609
* cfghooks.h (dependence_hash): New typedef.
(struct copy_bb_data): New type.
(cfg_hooks::duplicate_block): Adjust to take a copy_bb_data argument.
(duplicate_block): Likewise.
* cfghooks.c (duplicate_block): Pass down copy_bb_data.
(copy_bbs): Create and pass down copy_bb_data.
* cfgrtl.c (cfg_layout_duplicate_bb): Adjust.
(rtl_duplicate_bb): Likewise.
* tree-cfg.c (gimple_duplicate_bb): If the copy_bb_data arg is not NULL
remap dependence info.

* gcc.dg/torture/restrict-7.c: New testcase.

From-SVN: r269098
gcc/ChangeLog
gcc/cfghooks.c
gcc/cfghooks.h
gcc/cfgrtl.c
gcc/testsuite/ChangeLog
gcc/testsuite/gcc.dg/torture/restrict-7.c [new file with mode: 0644]
gcc/tree-cfg.c