]> git.ipfire.org Git - thirdparty/gcc.git/commit
range-cache: Fix ICE on SSA_NAME with def_stmt not yet in the IL [PR116898]
authorJakub Jelinek <jakub@redhat.com>
Tue, 1 Oct 2024 07:49:49 +0000 (09:49 +0200)
committerJakub Jelinek <jakub@gcc.gnu.org>
Tue, 1 Oct 2024 07:49:49 +0000 (09:49 +0200)
commitbdbd0607d5933cdecbf7e009a42f1d9486dddf44
tree52ece0071c558397717a8882e11e963267cac49d
parent0939c8ca2fec3f4d8b6ad35da653d75412870357
range-cache: Fix ICE on SSA_NAME with def_stmt not yet in the IL [PR116898]

Some passes like the bitint lowering queue some statements on edges and only
commit them at the end of the pass.  If they use ranger at the same time,
the ranger might see such SSA_NAMEs and ICE on those.  The following patch
instead just punts on them.

2024-10-01  Jakub Jelinek  <jakub@redhat.com>

PR middle-end/116898
* gimple-range-cache.cc (ranger_cache::block_range): If a SSA_NAME
with NULL def_bb isn't SSA_NAME_IS_DEFAULT_DEF, return false instead
of failing assertion.  Formatting fix.

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