<table border="1" cellspacing="0" cellpadding="8">
<tr>
<th>Issue</th>
<td>
<a href=https://github.com/llvm/llvm-project/issues/208221>208221</a>
</td>
</tr>
<tr>
<th>Summary</th>
<td>
Performance regression from defining signed int overflow in -fms-compatibility mode
</td>
</tr>
<tr>
<th>Labels</th>
<td>
clang:codegen,
llvm:optimizations,
regression:23
</td>
</tr>
<tr>
<th>Assignees</th>
<td>
</td>
</tr>
<tr>
<th>Reporter</th>
<td>
AaronBallman
</td>
</tr>
</table>
<pre>
From https://github.com/llvm/llvm-project/pull/198538#issuecomment-4909059362
Our downstream testing at Intel ran into some performance differences that seem to come from these changes. For example, some code can no longer be vectorized (https://godbolt.org/z/7oeETzfY6) because compiler is unable to form the trip count of the loop due to the -fwrapv behavior:
```cpp
int x[40];
void doit1(int l, int u) {
int i;
#pragma clang loop vectorize(assume_safety)
for (i = l; i < u; i+= 3) x[i] += 1;
}
```
We also saw an 18% performance regression in SPEC2026 benchmarks such as cpu2026ref 772.marian_r.
CC @pankaj-chawla
</pre>
<img width="1" height="1" alt="" src="http://email.email.llvm.org/o/eJyUVEHPozYQ_TWTyygR2CHAgQNJFqmnrtRKVU-rwQzgXWMj2yT7fb--MtnutlUvKyExzIyZ5-f3TCHoyTI3UFyhuB9oi7PzTUve2SsZs5A99G54azrvFpxjXAPIFkQHopt0nLf-pNwCojPm8ffruHr3mVUE0a2bMSC6vK4KWYGQOoSNlVsWtvF4rrM6K2p5EZC1kLW_bh4H97QheqYFI4eo7YQU8Rcb2aAni9pGh8EtjCv70fmFrGIc9DiyZ6s4YJwpYmBeMDpUqXNM0OPMgVHNZCcOJ-ycR_5Ky2oYxO31R-UGRkUWrUPj7MQee8YHq-i8fucBQVT_YcANvTPx5PwEonsH0ZWOP_z-Pv55AVFjz4q2NNUtqzbsUQfcLPWGE7aEPsHC6PWKym02ohv3jHFuxWHb29L3cXx6Wh_Y80wP7XwCkLVwyV6PWlfIWm0jfoXies6guIO8QtY-nB5wcDrmIKpUN2mzKdgSPihTE-4J_VqBCEKunqaFUBmy0wvLdxJAVBTCtvCnQCPHNxD1vmp0PtGjEeQdDcgrpvCG2x6CuKa8TEMTRA3FHb8l89dgKO__3BJk7R-MZILDQE8ki3kFovjXqXuePIegXZIF_vbxw01k4oI9WzUv5L8EDJuakQKqdUslzyOWpTgt5DXZT_700t3thnDOVrJf6PNRzfQ0dBgaOdSypgM3eVnJIi9llR3mpixrkmKkQuRFfxmLS93nsq7z6pxJmV_Kg27SpKzMqlyK-pydejlUZa0EDSwUnys4Z7yQNqdklaScw26KRmSVEPnBUM8m7HYUYj8BkG1S5sQWhABxAyF2s8nWrVEv-p2idjZ8L_6gBWQrZMoX94Nvdmv22xTgnBkdYviBIOpouPn4_9zu9hl41Da5cb8uhl0y7sF-NO6Z2D-OSzgmnVPUvTY6vuHiBj5s3jQ_fWvshAQQ3TdOHo34KwAA__-PYX4m">