d6a05b494b
This carries over the PR87609 fix also to RTL loop unrolling. The gcc.dg/torture/pr90328.c testcase otherwise is miscompiled with the tree-ssa-address.c hunk (or alternatively with -fno-ivopts on master). I've tried to find the correct abstraction and adjusted two other duplicate_insn_chain users for which I do not have testcases. There may be other insn-chain copying routines that could be affected but hopefully most appropriately go through CFG hooks. 2020-08-27 Richard Biener <rguenther@suse.de> PR rtl-optimization/96812 * tree-ssa-address.c (copy_ref_info): Also copy dependence info. * cfgrtl.h (duplicate_insn_chain): Adjust prototype. * cfgrtl.c (duplicate_insn_chain): Remap dependence info if requested. (cfg_layout_duplicate_bb): Make sure we remap dependence info. * modulo-sched.c (duplicate_insns_of_cycles): Remap dependence info. (generate_prolog_epilog): Adjust. * config/c6x/c6x.c (hwloop_optimize): Remap dependence info. |
||
---|---|---|
.. | ||
c6x_intrinsics.h | ||
c6x-isas.def | ||
c6x-modes.def | ||
c6x-mult.md | ||
c6x-mult.md.in | ||
c6x-opts.h | ||
c6x-protos.h | ||
c6x-sched.md | ||
c6x-sched.md.in | ||
c6x-tables.opt | ||
c6x.c | ||
c6x.h | ||
c6x.md | ||
c6x.opt | ||
constraints.md | ||
elf-common.h | ||
elf.h | ||
genmult.sh | ||
genopt.sh | ||
gensched.sh | ||
predicates.md | ||
sync.md | ||
t-c6x | ||
t-c6x-elf | ||
t-c6x-uclinux | ||
uclinux-elf.h |