Daniel Paoliello f3aa84c810
[win][x64] Unwind v2: Avoid non-terminator instructions after terminator by using different psuedo for splitting frame infos (#177007)
After merging #159206 the new tests added would fail when verifying
machine code instructions with:

```
*** Bad machine code: Non-terminator instruction after the first terminator ***
- function:    has_funclet
- basic block: %bb.4 call.block.4 (0x8000f837e8)
- instruction: SEH_SplitChained
First terminator was:   RET64 $eax

*** Bad machine code: Non-terminator instruction after the first terminator ***
- function:    has_funclet
- basic block: %bb.4 call.block.4 (0x8000f837e8)
- instruction: SEH_EndPrologue
First terminator was:   RET64 $eax
```

This change removes `SEH_SplitChained` and replaces it with
`SEH_SplitChainedAtEndOfBlock` which acts as a marker to `X86AsmPrinter`
to emit the `.seh_splitchained` directive (and `.seh_endprolog`) when
the current block has finished.
2026-01-21 12:28:23 -08:00
..