https://gcc.gnu.org/bugzilla/show_bug.cgi?id=123596
--- Comment #3 from Andrew Pinski <pinskia at gcc dot gnu.org> ---
So we had:
```
;; basic block 8, loop depth 0, maybe hot
;; prev block 7, next block 9, flags: (NEW, REACHABLE, VISITED)
;; pred: 5 (EH,EXECUTABLE)
<L1>: [LP 2]
# .MEM_19(ab) = VDEF <.MEM_11(ab)>
D.34642 ={v} {CLOBBER(eos)};
[LP 3] resx 5
;; succ: 9 (EH,EXECUTABLE)
;; basic block 9, loop depth 0, maybe hot
;; prev block 8, next block 10, flags: (NEW, REACHABLE, VISITED)
;; pred: 8 (EH,EXECUTABLE)
<L2>: [LP 3]
[LP 4] resx 4
;; succ: 10 (EH,EXECUTABLE)
;; basic block 10, loop depth 0, maybe hot
;; prev block 9, next block 11, flags: (NEW, REACHABLE, VISITED)
;; pred: 9 (EH,EXECUTABLE)
<L3>: [LP 4]
# .MEM_21 = VDEF <.MEM_19(ab)>
D.34644 ={v} {CLOBBER(eos)};
[LP 5] resx 3
;; succ: 11 (EH,EXECUTABLE)
;; basic block 11, loop depth 0, maybe hot
;; prev block 10, next block 12, flags: (NEW, REACHABLE, VISITED)
;; pred: 10 (EH,EXECUTABLE)
<L4>: [LP 5]
# .MEM_22 = VDEF <.MEM_21>
D.34645 ={v} {CLOBBER(eos)};
[LP 1] resx 2
;; succ: 12 (EH,EXECUTABLE)
;; basic block 12, loop depth 0, maybe hot
;; prev block 11, next block 1, flags: (NEW, REACHABLE, VISITED)
;; pred: 2 [never] count:0 (precise) (EH,EXECUTABLE)
;; 11 (EH,EXECUTABLE)
<L5>: [LP 1]
resx 1
;; succ:
```
Empty EH handler 5 removed.
Empty EH handler 4 removed.
Empty EH handler 3 removed.
Empty EH handler 2 removed.
```
;; basic block 12, loop depth 0, maybe hot
;; prev block 11, next block 1, flags: (NEW, REACHABLE, VISITED)
;; pred: 2 [never] count:0 (precise) (EH,EXECUTABLE)
;; 11 (EH,EXECUTABLE)
;; 10 (EH,EXECUTABLE)
;; 9 (EH,EXECUTABLE)
;; 8 (EH,EXECUTABLE)
;; 5 (EH,EXECUTABLE)
<L5>: [LP 1]
# .MEM_19(ab) = VDEF <.MEMD.35247>
D.34642 ={v} {CLOBBER(eos)};
resx 1
;; succ:
```
Since we didn't update the mem here as there would be some abnormal turning
into non-abnormal or something like that. Things just go down hill.