aboutsummaryrefslogtreecommitdiff
path: root/gcc/value-range.h
diff options
context:
space:
mode:
authorSurya Kumari Jangala <jskumari@linux.ibm.com>2022-08-02 23:00:03 -0500
committerSurya Kumari Jangala <jskumari@linux.ibm.com>2022-09-07 10:22:35 -0500
commitbec35caafae8db0278e1d037a7ba00c3e6899bbd (patch)
treef1da05c5fb744751d006f6dd4f0f1039046c779f /gcc/value-range.h
parenta961ad1b13b9c294d4565344912b8e35ba71b369 (diff)
downloadgcc-bec35caafae8db0278e1d037a7ba00c3e6899bbd.zip
gcc-bec35caafae8db0278e1d037a7ba00c3e6899bbd.tar.gz
gcc-bec35caafae8db0278e1d037a7ba00c3e6899bbd.tar.bz2
sched1: Fix -fcompare-debug issue in schedule_region [PR105586]
In schedule_region(), a basic block that does not contain any real insns is not scheduled and the dfa state at the entry of the bb is not copied to the fallthru basic block. However a DEBUG insn is treated as a real insn, and if a bb contains non-real insns and a DEBUG insn, it's dfa state is copied to the fallthru bb. This was resulting in -fcompare-debug failure as the incoming dfa state of the fallthru block is different with -g. We should always copy the dfa state of a bb to it's fallthru bb even if the bb does not contain real insns. 2022-08-22 Surya Kumari Jangala <jskumari@linux.ibm.com> gcc/ PR rtl-optimization/105586 * sched-rgn.cc (save_state_for_fallthru_edge): New function. (schedule_region): Use it for all blocks. gcc/testsuite/ PR rtl-optimization/105586 * gcc.target/powerpc/pr105586.c: New test.
Diffstat (limited to 'gcc/value-range.h')
0 files changed, 0 insertions, 0 deletions