https://gcc.gnu.org/bugzilla/show_bug.cgi?id=117892
--- Comment #3 from Andrew Pinski <pinskia at gcc dot gnu.org> ---
I actually think this might be a DSE issue.
Deleted dead store: # .MEM_5 = VDEF <.MEM_3(D)>
# USE = nonlocal
# CLB = { D.2867 }
_Z1bPiD.2862 (&fD.2867);
And that creates an empty basic block with no successors:
;; basic block 3, loop depth 0, maybe hot
;; prev block 2, next block 4, flags: (NEW, VISITED)
;; pred: 2 (TRUE_VALUE,EXECUTABLE)
;; succ:
That started in GCC 12.
