<table border="1" cellspacing="0" cellpadding="8">
    <tr>
        <th>Issue</th>
        <td>
            <a href=https://github.com/llvm/llvm-project/issues/89200>89200</a>
        </td>
    </tr>

    <tr>
        <th>Summary</th>
        <td>
            Crash in `SIInstrInfo::isSafeToSink`
        </td>
    </tr>

    <tr>
      <th>Labels</th>
      <td>
            backend:AMDGPU,
            crash-on-valid
      </td>
    </tr>

    <tr>
      <th>Assignees</th>
      <td>
            petar-avramovic
      </td>
    </tr>

    <tr>
      <th>Reporter</th>
      <td>
          jayfoad
      </td>
    </tr>
</table>

<pre>
    New test case `test/CodeGen/AMDGPU/machine-sink-crash.mir`:
```
# RUN: llc -mtriple=amdgcn -mcpu=gfx1030 -run-pass=machine-sink %s | FileCheck %s

---
name: f
body: |
  bb.0:
    %81:sreg_32_xm0_xexec = IMPLICIT_DEF
    S_CBRANCH_SCC1 %bb.2, implicit undef $scc
    S_BRANCH %bb.1
  
  bb.1:
    S_BRANCH %bb.3
  
  bb.2:
    S_BRANCH %bb.6
  
  bb.3:
    successors: %bb.4, %bb.5
  
 %10:sreg_32_xm0_xexec = SI_IF undef %81, %bb.5, implicit-def $exec, implicit-def $scc, implicit $exec
    S_BRANCH %bb.4
  
  bb.4:
 
  bb.5:
    successors: %bb.2(0x00000000), %bb.3(0x80000000)
  
 %61:sreg_32 = COPY undef %10
    S_CBRANCH_VCCNZ %bb.3, implicit undef $vcc
    S_BRANCH %bb.2
  
  bb.6:
    ADJCALLSTACKUP 0, 0, implicit-def $scc
    ADJCALLSTACKDOWN 0, 0, implicit-def $scc
...
```
I get:
```
llc: lib/Target/AMDGPU/SIInstrInfo.cpp:220: virtual bool llvm::SIInstrInfo::isSafeToSink(llvm::MachineInstr &, llvm::MachineBasicBlock *, llvm::MachineCycleInfo *) const: Assertion `ExitBlocks[0]->getSinglePredecessor()' failed.
```

`SIInstrInfo::isSafeToSink` was introduced by #67456.

Cc @sameerds
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJyMVVFzmzgQ_jXrFw2MkADjBx4IhJ7vktRTJ3dz9-IRQsZqBHgkcJ1_fyNwatKStJmMLa3229X3-ZsVM0ZWjRAxBDdAyFF0TDvspFndniQHQiDIFqzvDq2Ov7KXfcvKRdGWL_GD-IY6YTrEmREIQmw3QPK0LcUn0QDJk_vs0-YJSF4zfpCNcIxsnh2umTm4tdQQYqAJ4AxwYtfj_7glFH15egCaIKU4cupOy6MSQDNWlxVvkFPzYw80q_ZnD1OMHN03zpEZAzSbdkNAAoNgmaJcKpEeBB9DlzbDp-M446JhtbAt9-PWsrRbWKZjAKGicK93RgjZWpEHNDFaVDtKduca787iLDgCmqH1_eZuna4fd9ltfsVsd-nNl-Qh_WO3TVPPligKlwBJkayPSnLZob4pxR4B8Q3nU-CIu0C815PJ7bw3t_sBQGcA5CNAOAOgbwCm51wY02ozKDWgfEtlXAY_FAASePhdubbr3Tr_zt0KOyk0kce5iGOBc3Er2lTN19T3aPozNP0rzUk0-CV5AiTCZ3z5A7K6cqDDUTQ5-kmccOKlQZL08-bfqyIennPR32n68N-1x5yNTh_YiMywD9_wTLI_0-TubvuYpH89bRC2PfB7ws-iss__PPwOznXd2XmwRpXo3hsWSvFhUMgCSP7ItE2dDJ_tet2YTq-bfevy4xFoQoj1IDpJ3fVMoaJtFVLqVNsGNJnkjwFptmwvHtutbJ6BRNfM-3HQDOkISGip_XR6w4zkN6odBk8ym5K-cCVsvzFjhXjbGEsXJcYI3cm2sfP19iy7oZCB4AZDkDlAbyvRbWVTKbHRohSjHYFEg_GWaM-kEuW8pt-DHxMOMfrGDJJNp9uy56JExQsCQsOlH4TutFTKEfjYsFoIXZpFGdNyRVdsIWJv6VGfBgEOF4c4xKuSYRxSn0SML5fhqiyDIlziYk8x24cLGRNMfOx7kYe9iIQui1YrGoplhKlPS1-Aj0XNpHKtkm6rq4U0phdxtCIYLxQrhDKX56xg_Fk0JdDk1Q920AIhwyvktI1zYkqWl2dOx7aiU_SVAR8raTpz7dHJTok4tTgkhx_kV8Iteq3iQ9cd7XwAkgPJK9kd-sLlbQ0kH4wwfjlH3X4V3Bp34GKA5AOd_wMAAP__aU8ghA">