]> git.ipfire.org Git - thirdparty/gcc.git/commit
bitint: Don't move debug stmts from before returns_twice calls [PR114628]
authorJakub Jelinek <jakub@redhat.com>
Tue, 9 Apr 2024 07:28:27 +0000 (09:28 +0200)
committerJakub Jelinek <jakub@redhat.com>
Tue, 9 Apr 2024 07:28:27 +0000 (09:28 +0200)
commit7dd1f9d2ec422173f490d91b9173d4fa5d32d909
treedab91fe83932f4737e241f9597fce98595ff6a7f
parent46c91665f4bceba19aed56f5bd6e934c548b84ff
bitint: Don't move debug stmts from before returns_twice calls [PR114628]

Debug stmts are allowed by the verifier before the returns_twice calls.
More importantly, they don't have a lhs, so the current handling of
arg_stmts statements to force them on the edges ICEs.

The following patch just keeps them where they were before.

2024-04-09  Jakub Jelinek  <jakub@redhat.com>

PR middle-end/114628
* gimple-lower-bitint.cc (gimple_lower_bitint): Keep debug stmts
before returns_twice calls as is, don't push them into arg_stmts
vector/move to edges.

* gcc.dg/bitint-105.c: New test.
gcc/gimple-lower-bitint.cc
gcc/testsuite/gcc.dg/bitint-105.c [new file with mode: 0644]