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

    <tr>
        <th>Summary</th>
        <td>
            Segfault upon encountering output memory operand constraint in inline asm
        </td>
    </tr>

    <tr>
      <th>Labels</th>
      <td>
            new issue
      </td>
    </tr>

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

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

<pre>
    ```llvm
define external i16 @"test"() {
Entry:
  call i32 asm "nop", "=m"()
  ret i16 0
}
```

Compiling with `llc test.ll` segfaults (LLVM 14.0.5):

```console
Stack dump:
0.      Program arguments: llc test.ll
1.      Running pass 'Function Pass Manager' on module 'test.ll'.
2.      Running pass 'X86 DAG->DAG Instruction Selection' on function '@test'
 #0 0x00007fad16cd33a1 llvm::sys::PrintStackTrace(llvm::raw_ostream&, int) (/usr/lib/x86_64-linux-gnu/libLLVM-14.so.1+0xea23a1)
 #1 0x00007fad16cd10fe llvm::sys::RunSignalHandlers() (/usr/lib/x86_64-linux-gnu/libLLVM-14.so.1+0xea00fe)
 #2 0x00007fad16cd38d6 (/usr/lib/x86_64-linux-gnu/libLLVM-14.so.1+0xea28d6)
 #3 0x00007fad15e22200 __restore_rt (/lib/x86_64-linux-gnu/libpthread.so.0+0x12200)
 #4 0x00007fad17479bc5 llvm::SelectionDAGBuilder::visitInlineAsm(llvm::CallBase const&, llvm::BasicBlock const*) (/usr/lib/x86_64-linux-gnu/libLLVM-14.so.1+0x1648bc5)
 #5 0x00007fad17466b53 llvm::SelectionDAGBuilder::visitCall(llvm::CallInst const&) (/usr/lib/x86_64-linux-gnu/libLLVM-14.so.1+0x1635b53)
 #6 0x00007fad1745a651 llvm::SelectionDAGBuilder::visit(llvm::Instruction const&) (/usr/lib/x86_64-linux-gnu/libLLVM-14.so.1+0x1629651)
 #7 0x00007fad174ec569 llvm::SelectionDAGISel::SelectBasicBlock(llvm::ilist_iterator<llvm::ilist_detail::node_options<llvm::Instruction, false, false, void>, false, true>, llvm::ilist_iterator<llvm::ilist_detail::node_options<llvm::Instruction, false, false, void>, false, true>, bool&) (/usr/lib/x86_64-linux-gnu/libLLVM-14.so.1+0x16bb569)
 #8 0x00007fad174ebff8 llvm::SelectionDAGISel::SelectAllBasicBlocks(llvm::Function const&) (/usr/lib/x86_64-linux-gnu/libLLVM-14.so.1+0x16baff8)
 #9 0x00007fad174e9b69 llvm::SelectionDAGISel::runOnMachineFunction(llvm::MachineFunction&) (/usr/lib/x86_64-linux-gnu/libLLVM-14.so.1+0x16b8b69)
#10 0x00007fad194954ad (/usr/lib/x86_64-linux-gnu/libLLVM-14.so.1+0x36644ad)
#11 0x00007fad1705a07e llvm::MachineFunctionPass::runOnFunction(llvm::Function&) (/usr/lib/x86_64-linux-gnu/libLLVM-14.so.1+0x122907e)
#12 0x00007fad16e0daa0 llvm::FPPassManager::runOnFunction(llvm::Function&) (/usr/lib/x86_64-linux-gnu/libLLVM-14.so.1+0xfdcaa0)
#13 0x00007fad16e15093 llvm::FPPassManager::runOnModule(llvm::Module&) (/usr/lib/x86_64-linux-gnu/libLLVM-14.so.1+0xfe4093)
#14 0x00007fad16e0e646 llvm::legacy::PassManagerImpl::run(llvm::Module&) (/usr/lib/x86_64-linux-gnu/libLLVM-14.so.1+0xfdd646)
#15 0x0000000000410cb3 main (/usr/lib/llvm-14/bin/llc+0x410cb3)
#16 0x00007fad158da7fd __libc_start_main ./csu/../csu/libc-start.c:332:16
#17 0x000000000040bafa _start (/usr/lib/llvm-14/bin/llc+0x40bafa)
[1]    48331 segmentation fault  llc-14 test.ll
```
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJzNl0tv4zYQgH-NfCEiUG_p4IMdr9sAGzRoFkVvBiXStlqKFEgqm_z7Dik5Fr3ZIl2nRQ3DFl8zH2dGHE4t6csyyPH45fypC_AmwCvK9q1giD0bpgThqI1yFKQ4iGPDtIG_IC6DuEJBsR4XfBJGvQTJamwh1BAOq5IYEd0hmC9k71bd2kaQbLpXGacVihmnBo8dQbGZHk50U9P93squb3krDuhra47IsTfIsoWcQwtpdtiTgRsN-srPn3-7R1Ea4jCzCk-UF_IbKbTkbOx9NKT5E9Gh61-n4xC5z4OSB0U6RNRh6JgwGmaguXo3O5pm_zoIYTl7oi1LsR1EY1op0IPtuCeCHJiCfgRdnaQDZ3bWSVRchKO4-Dvifi9ztFn9dBMkn-AP3Qlt1DAqeGScuadJ-v6kGdrgy9GRxWT-IE4wws8YPsWe0ChvaJKQCLmQAAskK_2ix4cH1Qrj7PNFkYaBfc-TFPm6k4DACDg4t-6GuS5QrK-3g4atbnlbw-9zme_y9AacODzfHMQwDlhX3YCrtAyjIF7jZ0Zi4DjHCYBGF6AR3rO3QMFWj-0BwvdnIihnSp-C9sdZMKjyWOJLo5U0v2qzsN5TkMwVZCyOY4zRbqfAe1KxnTKTtr_T05sjeIRaPdjpiawUT006V1OkRVU32cymr7EEQbYeWk4hZt3AU6tbcydAIVvpzouFWzgC1kQzZF8sM4XDeRiG2mbNJbxm04TVVc6J8rQEaG9Xmb-rPK-z5N27svzfbMi-YLMNXcWbZIDj8eY-b0byLHo3r8c6Pwg-CDeugMbDLXxc1mR59R3cO2jMe8_e97DhTNdm10LWIRDeQXJ7OUSZIe0kSUjKdrK3GrQ3dbZ5G3N7wjXzHp5kS-HE9PpgBZv6_m88tZT8ev_VNbjH81954b96vy_f6b-Ve7cnF2rPh68Z7oPiriaA5XFXF9xV_Y64U4P4RdyT5ghH1QnR4_5m7Grwsp4Z3CYuL8VWaZWlhP64hiTPUxDgafByY4Ezgot5brzYo72DzKzzplk-zB5xXAGMR-tnT4YpIXhGu32wgKc70n_EuacNUHiYiY8ZZbhK3oF5765zfoxNXVcishQIPMT0wpIsT_MZImcH0rxM97cz7F3Xn9-OfwOUUuDwQE8pefykEW7qBHWkFW9osTggD57qVrh248SOqzyxXubMSkqKPYVrEshpdtoQZXZORwhSGm1xw_OjnXTjJoUNbD1JoEBZRflZeOEzYziRCBrF_hNqt-5Mna2jINvYS31aJnCphZLFlhPEnZ2ueEG2rABRfmXxWrAs2DLKs7IsyqjMFnSZ0CqpyMK0hrPl41QAoaEHcUw0chCQxmztIAfTDwZ1rJPqBckekpug42mtwEhQhgn42iudrd4Wg-LLozG9OyniLXwPUHMNddjIbtruade9kn_A0QvNVuuBQV7YZjncYxbHZd4kpKwznGUZXGPBxnURsZoWCU2rPcnwgpOacb0Es9hykX1FToQtE7PNol3GGO6sRZzDlbtK07Bq9hEUKGmU5iVmJYGChoGHeWg5QqkOC7V0SPVw0DBok7U-D8IrAJUBY04dyCeDOUq1NLKXnKjWvCyc9qWj_wsgg3XB">