aboutsummaryrefslogtreecommitdiff
path: root/gcc/expr.cc
diff options
context:
space:
mode:
authorJakub Jelinek <jakub@redhat.com>2023-01-03 12:12:35 +0100
committerJakub Jelinek <jakub@redhat.com>2023-01-03 12:12:35 +0100
commit4fb639a7fee5df32a2d1e7afa40fdf31d280464b (patch)
treea9a9bfea30476fc781043db1c39b9b6c96b50783 /gcc/expr.cc
parent201c21b0e847679645df1af3dd13459274f41047 (diff)
downloadgcc-4fb639a7fee5df32a2d1e7afa40fdf31d280464b.zip
gcc-4fb639a7fee5df32a2d1e7afa40fdf31d280464b.tar.gz
gcc-4fb639a7fee5df32a2d1e7afa40fdf31d280464b.tar.bz2
cfgrtl: Don't try to redirect asm goto to EXIT [PR108263]
The following testcase distilled from Linux kernel on ppc64le ICEs, because fixup_reorder_chain sees a bb with a single fallthru edge falling into a bb with simple return and decides to redirect that fallthru edge to EXIT. That is possible if the bb ending in the fallthru edge doesn't end with a jump or ends with a normal unconditional jump, but not when the bb ends with asm goto which can despite a single fallthru have multiple labels to the fallthrough basic block. The following patch makes sure we never try to redirect such cases to EXIT. 2023-01-03 Jakub Jelinek <jakub@redhat.com> PR rtl-optimization/108263 * cfgrtl.cc (fixup_reorder_chain): Avoid trying to redirect asm goto to EXIT. * gcc.dg/pr108263.c: New test.
Diffstat (limited to 'gcc/expr.cc')
0 files changed, 0 insertions, 0 deletions