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

    <tr>
        <th>Summary</th>
        <td>
            [Clang][Forend] The generated LLVM IR has an error because the frontend ignores the volatile qualifier
        </td>
    </tr>

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

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

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

<pre>
    Hey guys, I found a problem, 
```
volatile register int i asm("x22");
register int j asm("x23");

int main () {
 i = 12;
 j = 13;
return i + j;
}
```

Generate llvm ir like this:
```
define dso_local signext i32 @main() #0 {
entry:
 %retval = alloca i32, align 4
  store i32 0, ptr %retval, align 4
 call void @llvm.write_register.i32(metadata !0, i32 12)
  call void @llvm.write_register.i32(metadata !1, i32 13)
  %0 = call i32 @llvm.read_register.i32(metadata !0)
  %1 = call i32 @llvm.read_register.i32(metadata !1)
  %add = add nsw i32 %0, %1
  ret i32 %add
}

```

why "volatile" is ignored? 
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJyclM-O2zYQxp-GugxikENpLR10yMZwGyC9FEWvASWOJW5ocktS3vjtC9Lyn6QpAgQQZJj85jcznzhUMZrJEfWseWbNrlJLmn3oD8YH9cW4qRq8Pve_0xmm5RwZfoCPcPCL06DgNfjB0jEvMr5j_D174utT_p68VclYgkCTiYkCGJfAgIpHhi1D_IrI8tMx-XwJ-Ub58qiU3ykv7yw7KuOgyDpg23UbDDC5A4G3AHi5rMiHZGkJLivxGV7u5O3uh-1c3r-Ro6ASgbWnI5gA1nwhSLOJTL7_YZymg3EEOvrP1o_KQnH8awIjEVjNc_3X8lHyew_kUjjfqMCwCZROypY-lM2wzMj-K2smB_WqhJh8oMLnefc1hXv0f-WjshZO3uhcTW5r8xZMos_Xj7EpSdojJaVVUsBQFGzmi_JR1rS_ABI3kHwAMWx46bIQV58KMJDSPynskSJ-jSK-pSitL55rDS6-XVDYFBNykqs0ULruKa2_P03_f6be5jMwxOu8MEQwEczkfCDN5B4q3UvdyU5V1IsttnLbtk9dNfeyFfxpK-p2OAyEbafHplM4yFEL0bbbpjI9cqwF5y3vRI3dppG8Jq4aMbT1QXaK1ZyOythNMcaHqTIxLtQLIRq-rawayMZyOyCOVrkpz2Gzq0KfA94NyxSzqyameEckk2y5Uj6UiGbHmue9D-Q0a3bw10wwrWOk4dOnv_-Aj3_CrCIoBxSCDzDQqJaY54rgELxL5PRqSCyLt7vln0VZczAUqiXYfk7ptQwi7hnuJ5PmZdiM_shwn4tbf969Bv9CY2K4L81Ghvu131OP_wYAAP__Yih3Iw">