<table border="1" cellspacing="0" cellpadding="8">
<tr>
<th>Issue</th>
<td>
<a href=https://github.com/llvm/llvm-project/issues/63331>63331</a>
</td>
</tr>
<tr>
<th>Summary</th>
<td>
Dead Code Elimination Regression when using __builtin_unreachable (trunk vs 16)
</td>
</tr>
<tr>
<th>Labels</th>
<td>
new issue
</td>
</tr>
<tr>
<th>Assignees</th>
<td>
</td>
</tr>
<tr>
<th>Reporter</th>
<td>
thetheodor
</td>
</tr>
</table>
<pre>
https://godbolt.org/z/q6oWW8P4W
Given the following code:
```C
void foo(void);
static int a = 9, f;
static int *b = &a;
static int **c = &b;
void __assert_fail() __attribute__((__noreturn__));
static int *d() {
int e;
if (b)
;
else
foo();
__builtin_unreachable();
return &e;
}
int main() {
if (0 == a) {
int **g = &b;
*c = &f;
*g = d();
if (b) __assert_fail();
}
}
```
clang-trunk -O1 generates:
```asm
main: # @main
# %bb.0:
cmpl $0, a(%rip)
je .LBB0_2
# %bb.1:
xorl %eax, %eax
retq
.LBB0_2:
pushq %rax
leaq f(%rip), %rax
movq %rax, b(%rip)
callq d
.Lfunc_end0:
d: # @d
# %bb.0:
pushq %rax
callq foo@PLT
.Lfunc_end1:
```
clang-16.0.5 -O1 generates:
```asm
main: # @main
# %bb.0:
xorl %eax, %eax
retq
.Lfunc_end0:
```
Bisects to 1fc425380e9860a6beb53fa68d02e7fb14969963 (@nikic)
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJzEVU2P4jgQ_TXFxWrkOImJDzk0zbKXkXa0WqmPkRNXEs8Ym44denZ__coJ0IGhR9rTRgic-nh-9Vy4pPe6s4gl5FvIdys5ht4NZegx9OiUG1a1U3-XfQhHD-kzsD2wfedU7UxYu6EDtv8H2P6Nu9fX4mv2CnQH9Hn-_l2f0JLQI2mdMe5d2440TmHEWYQBp_PnZX4_Oa1I6xywIi6BCUi3s8sHGXRDtA1EEkh3RAB7Ie0jP7DnegoBxuUnAcCem0tMfY2Z9q8q6T0OoWqlNsAKYCLaQhh0PQasqslWVJV1A4ZxsNEiPuEK7FmdMWBzdhNCJh9eEyZLS4AVdcS52uJzE4TG4617Vmu5O6mqetQmaFuNdkDZ9LI2eB9ECJnZRwU-mMBmNy8iwYPU9iH5iSqN-kUJ5U8Blwpnobufhb4WtziG9pF3zlX37D_EenRcN0DXij4Wt703vzZG2u4pDKP9Tp7-SEiHFgcZ0H_WstIfZsukUnol_YsHWEogo1PCDBYNLK_rNV1sI5rD0QAVwDIam1xOVeWDPl6bA6j4hkDF-st2Syt2j5Ys0X64YUbLUf6IeOfVxT9geJtfLmiL5OPo-7c5e1jkGJTR2t4wm6GXYQd3WiSzF1I_LKWRxsQ4daHRjrap0KobVZanoKLgZznVL7X8pIDLlvHvk9GvX_6633oh4W2jLNsl4Wu6zv_3fvkvJ_xA2kf1bbXHJngSHEnaJmN5WlAUBaeS11jnaSt5oSjDTVsnmeBC8MisgIxa_V03wMRKlakSqZArLBNe8CLL82yz6ssNV1JuVNqqIpNNmzQpUpZxwSUXQuXJSpeMspTyJE94wthmndCiSFSdiKIpUtxIyCgepDZrY06HOIpW2vsRS56mabIyskbjp6nGmMV3MjmBsTjkhjLmPNVj5yGjRvvgP1CCDgbLHUpFXpxC8pvRB21l0M6SP7Eb0Pu4fO_RktHHmfbwqo1CzBfJyZOEx0tqNQ7mfpLq0I_1unEHYPtI4fzzdBzcN2wCsP1E3APbT4X9GwAA___figa2">