diff options
author | Alexandre Oliva <aoliva@redhat.com> | 2017-12-11 22:36:07 +0000 |
---|---|---|
committer | Alexandre Oliva <aoliva@gcc.gnu.org> | 2017-12-11 22:36:07 +0000 |
commit | b92977ee9fe46d0625d6c7a7fc63a9005753b892 (patch) | |
tree | 154fb2776aa4536d105f810a07b6ca6d166a3744 /gcc/tree-ssa-loop-prefetch.c | |
parent | 0a2c51498215e3e881b40bab388242390a8b4678 (diff) | |
download | gcc-b92977ee9fe46d0625d6c7a7fc63a9005753b892.zip gcc-b92977ee9fe46d0625d6c7a7fc63a9005753b892.tar.gz gcc-b92977ee9fe46d0625d6c7a7fc63a9005753b892.tar.bz2 |
[PR80693] drop value of parallel SETs dropped by combine
When combine drops a REG_UNUSED SET in a parallel, we have to clear
cached values, so that, even if the REGs remain used (e.g. because
they were referenced in the used SET_SRC), we will not use properties
of the dropped modified value as if they applied to the preserved
original one.
We fail to adjust REG_N_SETS.
for gcc/ChangeLog
PR rtl-optimization/80693
PR rtl-optimization/81019
PR rtl-optimization/81020
* combine.c (distribute_notes): Reset any REG_UNUSED REGs that
are not mentioned in i3. Place the REG_UNUSED note on i2,
possibly modified to REG_DEAD, if it did not originate in i3.
for gcc/testsuite/ChangeLog
PR rtl-optimization/80693
PR rtl-optimization/81019
PR rtl-optimization/81020
* gcc.dg/pr80693.c: New.
* gcc.dg/pr81019.c: New.
From-SVN: r255554
Diffstat (limited to 'gcc/tree-ssa-loop-prefetch.c')
0 files changed, 0 insertions, 0 deletions