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

    <tr>
        <th>Summary</th>
        <td>
            BitcodeReader ignores non-default alloca address space
        </td>
    </tr>

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

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

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

<pre>
    Input:
```
define i32 addrspace(200)* @test() {
  %1 = alloca i32, addrspace(200)
  ret i32 addrspace(200)* %1
}
```

Running `llvm-as -d | llvm-dis` gives:
```
Here's the assembly:
; ModuleID = '<stdin>'
source_filename = "<stdin>"

define i32 addrspace(200)* @allocaTest() {
  %1 = alloca i32, align 4, addrspace(200)
  ret i32 addrspace(200)* %1
}
; ModuleID = '<stdin>'
source_filename = "<stdin>"

define i32 addrspace(200)* @allocaTest() {
  %1 = alloca i32, align 4
  ret i32* %1
}
```

Seen in 8.0.1, 14.0.6 and a fork based on 13's branch point from main, so this isn't a new bug with, say, the introduction of opaque pointers. It looks like BitcodeWriter serialises the address space when non-default, but BitcodeReader never reads it in.
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJzUVE1v6zYQ_DXUZWGBIvXlgw5xXKM59PJaoMeCElfSvtCky6US5N8Xkv2QGEiLBuilgGFiodnZ2cGQhpkmj9iJ6iCqY2aWNIfYfY9pUE3WB_vWPfnLkoR-EPIo5IOo5e23lRZH8gikFRhrI1_MgEK1Skqh9kI9gChlQk5CtULtQTSHax-AUFUBQh_BOBcGs1II9fgZy60hYvqnOaoqbgqb46dSr__fFu_JTyBq6dzLeWcYdhZE8whbaYlFLWGiF-S_2_lnjChUw5BmBMOM5969vYP1AX4JdnH4dNz2E6oR-pGTJS_0T2u14TgsccA_RnLozRlvUHUHVR-V_xurr17-9iXDHU0eyv_a-_-pC_f7fiVYvyJ6IA9tLvNipSzKXOY1GG_BwBjiM_SG0ULwUOgtP300fpjhEsgnGGM4w9mQX3s5QJqJgdgL1SQw4PEV-mWCV0rzhjBv67FGkHyKwS5DouAhjBAu5s8Fr7QYOYenBC6EZwZHzwgHSkOw-HukhBEYIxlHjLc4WxuRGTZf4XVGDz74ncXRLC6tE_sl_aD4hsZiBI8vGCGisQyUgHye2U7bvd6bDLuibkpZaymLbO5Gq23RjkZXzdBiNcix3A-6asy-VbrYm4w6JZWWRdEWzdqT21LVrW61kU3VDKhEKfFsyOXrdc1DnDJiXrCrZaGazJkeHW-PmVKrZdvHNULVMYvddsX7ZWJRSkec-J0lUXLY3S9Gkw8R-aMDP2Jz51O2RNfNKV22J0OdhDpNlOalz4dwFuq0Drkdu0sM33FIQp02aSzUaZP-VwAAAP__8ZWc7A">