https://gcc.gnu.org/bugzilla/show_bug.cgi?id=120629
--- Comment #19 from Jakub Jelinek <jakub at gcc dot gnu.org> --- Note, we call in that function get_range_pos_neg first on _54 on the _55 = (sizetype) _54; statement (same block 11), that is the first ranger query during expansion of that function and already there it returns incorrect [7, 7]. There are 3 BB_RTL basic blocks in the IL, one created by init_block = create_basic_block (NEXT_INSN (get_insns ()), get_last_insn (), ENTRY_BLOCK_PTR_FOR_FN (cfun)); which adds a new BB on the edge from ENTRY to its original successor, and then two BB_RTL bbs created by new_bb = create_basic_block (NEXT_INSN (last), get_last_insn (), bb); in expand_gimple_cond for the case where neither successor of GIMPLE_COND ending bb is the next bb.