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

    <tr>
        <th>Summary</th>
        <td>
            Merge 96abee5eef31274415681018553e1d4a16dc16c9 into 18.x
        </td>
    </tr>

    <tr>
      <th>Labels</th>
      <td>
      </td>
    </tr>

    <tr>
      <th>Assignees</th>
      <td>
      </td>
    </tr>

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

<pre>
    [Mips] Fix unable to handle inline assembly ends with compat-branch on MIPS (#77291)

Modify:
Add a global variable 'CurForbiddenSlotAttr' to save current
instruction's forbidden slot and whether set reorder. This is the
judgment condition for whether to add nop. We would add a couple of
'.set noreorder' and '.set reorder' to wrap the current instruction and
the next instruction.
Then we can get previous instruction`s forbidden slot attribute and
whether set reorder by 'CurForbiddenSlotAttr'.
If previous instruction has forbidden slot and .set reorder is active
and current instruction is CTI. Then emit a NOP after it.

Fix https://github.com/llvm/llvm-project/issues/61045.

Because https://reviews.llvm.org/D158589 was 'Needs Review' state, not
ending, so we commit pull request again.
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJycVEtv3DYQ_jXUZRBB5Op50MGxsYAPToPGQM-kOJIYcEmVHO7a_77gPpJNa_SQiwRxON98j4FkjGZxiCNrPrPmqZCJVh9GFaSuCuX1ey68mC2y5gn25g2Sk8oikIdVOm0RjLPGIcgY8aDsO6DTEU6GVpj8YZP0SQXpphW8g5fnr9-AiZ6JXdeJgTMxsOqJVQ-X54vXZn5nu-vng9YgYbFeSQtHGcx5MBPdYwp7H5TRGt036-mBKDDRZU5RHhGmFAI6uqAYFymkiYx3THQR5lsnROsJpNNwWpFWDBCRIKAPGkMJr6uJYCLQiheg70kvB3QEk3faZLyM9aOZPEitwfmthL8QTj5ZfT6RMPm0WQQ_X8WKrsyjnL8Oy9wzj1vh7pg8nILcMoubLLhTlNsuoPmCw7dfquWl9LqigxPCJB0sSLAFPBqf4v1V1lb_tYYoGJUIf075wClQ7_-TyZXC8_zhVFjlh4Hcu5AzkBOZ4zWGXP_ICRPh8fU554YO8GAIJHz54yvImTIIlfeblhd5JdpiXjaxZ2K_GFqTKid_YGJv7fH2-rQF_x0nYmJvYkwYmdi3vKqbX_A-4yRTxH9hZsV4imXGKX1YmNg_8aZv-gFOMmbXviDqCH-e7-W4I0lCJh7B-ev6otPGLfko-nOI_pC1bclaCPh3wkggF2lcWehxp4fdIAsceVf1XTPwShTr2A47IfncNr3ESfFatb2YleJirnEQlSrMKCpRV0LUVcd7IUpVTXNX96pvJ16ptmF1hQdp7A8lxdmLsRd9OxRWKrTx9gMJ49k2lZbI6sqaSD8NKMiQxfEFw4IwtFIhNojzjouurnnT9rzifdPskOta8lZPvJ0GMI488L58K1Kw4-_Hdmb7TwAAAP__I86gEg">