On Thu, Apr 18, 2019 at 11:20:32AM +0200, Richard Biener wrote: > > This fixes another case similar to the fixed PR89892, mergephi > via remove_forwarder_block_with_phi caused out-of-date debug > binds to become live and thus needs similar treatment as > remove_forwarder_block. Previously it didn't even bother > to move debug stmts because the destination always has > multiple predecessors. Now we have to move and reset them. > > Fixed by factoring out a worker from remove_forwarder_block and > using that from remove_forwarder_block_with_phi as well. > > Bootstrap & regtest running on x86_64-unknown-linux-gnu.
This regressed quite a few guality tests on both x86_64 and i686: +FAIL: gcc.dg/guality/pr54519-1.c -O3 -g -DPREVENT_OPTIMIZATION line 20 x == 36 +FAIL: gcc.dg/guality/pr54519-1.c -O3 -g -DPREVENT_OPTIMIZATION line 20 y == 25 +FAIL: gcc.dg/guality/pr54519-1.c -O3 -g -DPREVENT_OPTIMIZATION line 20 z == 6 +FAIL: gcc.dg/guality/pr54519-1.c -O3 -g -DPREVENT_OPTIMIZATION line 23 x == 98 +FAIL: gcc.dg/guality/pr54519-1.c -O3 -g -DPREVENT_OPTIMIZATION line 23 y == 117 +FAIL: gcc.dg/guality/pr54519-1.c -O3 -g -DPREVENT_OPTIMIZATION line 23 z == 8 +FAIL: gcc.dg/guality/pr54519-2.c -O2 -flto -fuse-linker-plugin -fno-fat-lto-objects -DPREVENT_OPTIMIZATION line 17 x == 6 +FAIL: gcc.dg/guality/pr54519-2.c -O3 -g -DPREVENT_OPTIMIZATION line 17 x == 6 +FAIL: gcc.dg/guality/pr54519-2.c -O3 -g -DPREVENT_OPTIMIZATION line 17 y == 25 +FAIL: gcc.dg/guality/pr54519-3.c -O2 -DPREVENT_OPTIMIZATION line 20 x == 36 +FAIL: gcc.dg/guality/pr54519-3.c -O2 -DPREVENT_OPTIMIZATION line 20 y == 25 +FAIL: gcc.dg/guality/pr54519-3.c -O2 -DPREVENT_OPTIMIZATION line 20 z == 6 +FAIL: gcc.dg/guality/pr54519-3.c -O2 -DPREVENT_OPTIMIZATION line 23 x == 98 +FAIL: gcc.dg/guality/pr54519-3.c -O2 -DPREVENT_OPTIMIZATION line 23 y == 117 +FAIL: gcc.dg/guality/pr54519-3.c -O2 -DPREVENT_OPTIMIZATION line 23 z == 8 +FAIL: gcc.dg/guality/pr54519-3.c -O2 -flto -fno-use-linker-plugin -flto-partition=none -DPREVENT_OPTIMIZATION line 20 x == 36 +FAIL: gcc.dg/guality/pr54519-3.c -O2 -flto -fno-use-linker-plugin -flto-partition=none -DPREVENT_OPTIMIZATION line 23 x == 98 +FAIL: gcc.dg/guality/pr54519-3.c -O2 -flto -fuse-linker-plugin -fno-fat-lto-objects -DPREVENT_OPTIMIZATION line 20 x == 36 +FAIL: gcc.dg/guality/pr54519-3.c -O2 -flto -fuse-linker-plugin -fno-fat-lto-objects -DPREVENT_OPTIMIZATION line 23 x == 98 +FAIL: gcc.dg/guality/pr54519-3.c -O3 -g -DPREVENT_OPTIMIZATION line 20 x == 36 +FAIL: gcc.dg/guality/pr54519-3.c -O3 -g -DPREVENT_OPTIMIZATION line 20 y == 25 +FAIL: gcc.dg/guality/pr54519-3.c -O3 -g -DPREVENT_OPTIMIZATION line 20 z == 6 +FAIL: gcc.dg/guality/pr54519-3.c -O3 -g -DPREVENT_OPTIMIZATION line 23 x == 98 +FAIL: gcc.dg/guality/pr54519-3.c -O3 -g -DPREVENT_OPTIMIZATION line 23 y == 117 +FAIL: gcc.dg/guality/pr54519-3.c -O3 -g -DPREVENT_OPTIMIZATION line 23 z == 8 +FAIL: gcc.dg/guality/pr54519-3.c -Os -DPREVENT_OPTIMIZATION line 20 x == 36 +FAIL: gcc.dg/guality/pr54519-3.c -Os -DPREVENT_OPTIMIZATION line 20 y == 25 +FAIL: gcc.dg/guality/pr54519-3.c -Os -DPREVENT_OPTIMIZATION line 20 z == 6 +FAIL: gcc.dg/guality/pr54519-3.c -Os -DPREVENT_OPTIMIZATION line 23 x == 98 +FAIL: gcc.dg/guality/pr54519-3.c -Os -DPREVENT_OPTIMIZATION line 23 y == 117 +FAIL: gcc.dg/guality/pr54519-3.c -Os -DPREVENT_OPTIMIZATION line 23 z == 8 +FAIL: gcc.dg/guality/pr54519-4.c -O2 -DPREVENT_OPTIMIZATION line 17 x == 6 +FAIL: gcc.dg/guality/pr54519-4.c -O2 -DPREVENT_OPTIMIZATION line 17 y == 25 +FAIL: gcc.dg/guality/pr54519-4.c -O2 -flto -fno-use-linker-plugin -flto-partition=none -DPREVENT_OPTIMIZATION line 17 x == 6 +FAIL: gcc.dg/guality/pr54519-4.c -O2 -flto -fuse-linker-plugin -fno-fat-lto-objects -DPREVENT_OPTIMIZATION line 17 x == 6 +FAIL: gcc.dg/guality/pr54519-4.c -O3 -g -DPREVENT_OPTIMIZATION line 17 x == 6 +FAIL: gcc.dg/guality/pr54519-4.c -O3 -g -DPREVENT_OPTIMIZATION line 17 y == 25 +FAIL: gcc.dg/guality/pr54519-4.c -Os -DPREVENT_OPTIMIZATION line 17 x == 6 +FAIL: gcc.dg/guality/pr54519-4.c -Os -DPREVENT_OPTIMIZATION line 17 y == 25 +FAIL: gcc.dg/guality/pr54519-5.c -O2 -flto -fuse-linker-plugin -fno-fat-lto-objects -DPREVENT_OPTIMIZATION line 17 x == 6 +FAIL: gcc.dg/guality/pr54519-5.c -O3 -g -DPREVENT_OPTIMIZATION line 17 x == 6 +FAIL: gcc.dg/guality/pr54519-5.c -O3 -g -DPREVENT_OPTIMIZATION line 17 y == 25 +FAIL: gcc.dg/guality/pr54519-6.c -Os -DPREVENT_OPTIMIZATION line 11 x == 2 +FAIL: gcc.dg/guality/pr54519-6.c -Os -DPREVENT_OPTIMIZATION line 11 y == 0 +FAIL: gcc.dg/guality/pr68860-1.c -O2 -DPREVENT_OPTIMIZATION line 14 arg1 == 1 +FAIL: gcc.dg/guality/pr68860-1.c -O2 -DPREVENT_OPTIMIZATION line 14 arg2 == 2 +FAIL: gcc.dg/guality/pr68860-1.c -O2 -DPREVENT_OPTIMIZATION line 14 arg3 == 3 +FAIL: gcc.dg/guality/pr68860-1.c -O2 -DPREVENT_OPTIMIZATION line 14 arg4 == 4 +FAIL: gcc.dg/guality/pr68860-1.c -O2 -DPREVENT_OPTIMIZATION line 14 arg5 == 5 +FAIL: gcc.dg/guality/pr68860-1.c -O2 -DPREVENT_OPTIMIZATION line 14 arg6 == 6 +FAIL: gcc.dg/guality/pr68860-1.c -O2 -DPREVENT_OPTIMIZATION line 16 arg1 == 1 +FAIL: gcc.dg/guality/pr68860-1.c -O2 -DPREVENT_OPTIMIZATION line 16 arg2 == 2 +FAIL: gcc.dg/guality/pr68860-1.c -O2 -DPREVENT_OPTIMIZATION line 16 arg3 == 3 +FAIL: gcc.dg/guality/pr68860-1.c -O2 -DPREVENT_OPTIMIZATION line 16 arg4 == 4 +FAIL: gcc.dg/guality/pr68860-1.c -O2 -DPREVENT_OPTIMIZATION line 16 arg5 == 5 +FAIL: gcc.dg/guality/pr68860-1.c -O2 -DPREVENT_OPTIMIZATION line 16 arg6 == 6 +FAIL: gcc.dg/guality/pr68860-1.c -O3 -g -DPREVENT_OPTIMIZATION line 14 arg1 == 1 +FAIL: gcc.dg/guality/pr68860-1.c -O3 -g -DPREVENT_OPTIMIZATION line 14 arg2 == 2 +FAIL: gcc.dg/guality/pr68860-1.c -O3 -g -DPREVENT_OPTIMIZATION line 14 arg3 == 3 +FAIL: gcc.dg/guality/pr68860-1.c -O3 -g -DPREVENT_OPTIMIZATION line 14 arg4 == 4 +FAIL: gcc.dg/guality/pr68860-1.c -O3 -g -DPREVENT_OPTIMIZATION line 14 arg5 == 5 +FAIL: gcc.dg/guality/pr68860-1.c -O3 -g -DPREVENT_OPTIMIZATION line 14 arg6 == 6 +FAIL: gcc.dg/guality/pr68860-1.c -O3 -g -DPREVENT_OPTIMIZATION line 16 arg1 == 1 +FAIL: gcc.dg/guality/pr68860-1.c -O3 -g -DPREVENT_OPTIMIZATION line 16 arg2 == 2 +FAIL: gcc.dg/guality/pr68860-1.c -O3 -g -DPREVENT_OPTIMIZATION line 16 arg3 == 3 +FAIL: gcc.dg/guality/pr68860-1.c -O3 -g -DPREVENT_OPTIMIZATION line 16 arg4 == 4 +FAIL: gcc.dg/guality/pr68860-1.c -O3 -g -DPREVENT_OPTIMIZATION line 16 arg5 == 5 +FAIL: gcc.dg/guality/pr68860-1.c -O3 -g -DPREVENT_OPTIMIZATION line 16 arg6 == 6 +FAIL: gcc.dg/guality/pr68860-1.c -Os -DPREVENT_OPTIMIZATION line 14 arg1 == 1 +FAIL: gcc.dg/guality/pr68860-1.c -Os -DPREVENT_OPTIMIZATION line 14 arg2 == 2 +FAIL: gcc.dg/guality/pr68860-1.c -Os -DPREVENT_OPTIMIZATION line 14 arg3 == 3 +FAIL: gcc.dg/guality/pr68860-1.c -Os -DPREVENT_OPTIMIZATION line 14 arg4 == 4 +FAIL: gcc.dg/guality/pr68860-1.c -Os -DPREVENT_OPTIMIZATION line 14 arg5 == 5 +FAIL: gcc.dg/guality/pr68860-1.c -Os -DPREVENT_OPTIMIZATION line 14 arg6 == 6 +FAIL: gcc.dg/guality/pr68860-1.c -Os -DPREVENT_OPTIMIZATION line 16 arg1 == 1 +FAIL: gcc.dg/guality/pr68860-1.c -Os -DPREVENT_OPTIMIZATION line 16 arg2 == 2 +FAIL: gcc.dg/guality/pr68860-1.c -Os -DPREVENT_OPTIMIZATION line 16 arg3 == 3 +FAIL: gcc.dg/guality/pr68860-1.c -Os -DPREVENT_OPTIMIZATION line 16 arg4 == 4 +FAIL: gcc.dg/guality/pr68860-1.c -Os -DPREVENT_OPTIMIZATION line 16 arg5 == 5 +FAIL: gcc.dg/guality/pr68860-1.c -Os -DPREVENT_OPTIMIZATION line 16 arg6 == 6 Jakub