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

    <tr>
        <th>Summary</th>
        <td>
            [CIR] Upstream support for goto handling
        </td>
    </tr>

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

    <tr>
      <th>Assignees</th>
      <td>
            Andres-Salamanca
      </td>
    </tr>

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

<pre>
    ### Overview
Upstream support for handling goto statements in ClangIR.

This will also require upstreaming of the GotoSolver transform from the ClangIR incubator.

### Suggested minimal test case
```
void g0(int a) {
  int b = a;
  goto end;
  b = b + 1;
end:
  b = b + 2;
}
```

### Existing incubator tests
clang/test/CIR/CodeGen/goto.cpp
</pre>
<img width="1" height="1" alt="" src="http://email.email.llvm.org/o/eJxsUl1vnDAQ_DXLyyons8B9PPBAcr0oT5WS9gcYvAdujU1tQ5p_X5kjjfohWaDdgdHMeGQIurfMNVT3QNRY5TncvUgjR2k7CURQnTM5x8H5Wlr19l2-Geez1qm3Gqi4Hfy8sF80v4Jovk4hepYjhnmanI94dR4HaZXRtsfeRYchysgj2xhQW3ww0vZPzzsQDYjmy6ADvmpjUJrg0POPWXvGeWNNHO6KcWB8dNG9OLOwx-ilDVfnR7x6N67oxoradnMro_Mb_4fml7nvOURWOGqrR2kwcojYycDpu73YjmgWpxX2AuiobUQJdEI43INoENOiRSjOKKG4rVaLbNX7fINbBLrH_LZc0eYflG4oHM5_CfhD96efOsSUw29rq_AAoumSaaBLmoEuD0_P6ekUP7IFuiRlu26aMlUX6lScZMZ1fqgqUeRlUWZDfVJ5u-9IHMouF6Vo807RgaqTpJbLPVWZrklQJY45kSiLqtyJvMpVWezbK-X7fd5BKXiU2uyMWcad832mQ5i5zquCjsfMyJZN2Mq2XdHWMV-nX-7auQ9QCqNDDB8kUUezdjRZqs7435Ktwb83LZu9qYcYp5CSpkuyr-Mwt7vOjUCXRL297ibvvnGXElvFBqDLpnep6VcAAAD__6NM960">