https://gcc.gnu.org/bugzilla/show_bug.cgi?id=111276
Andrew Pinski <pinskia at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Keywords|patch |
URL|https://gcc.gnu.org/piperma |
|il/gcc-patches/2023-Septemb |
|er/629171.html |
--- Comment #7 from Andrew Pinski <pinskia at gcc dot gnu.org> ---
So with my new patch now (since the variable sharing issue is fixed), I am
running into:
+FAIL: gcc.dg/Wrestrict-22.c (test for warnings, line 8)
r11-4135-ge864d395b4e862 added the testcase:
```
/* { dg-options "-O2 -Wrestrict" } */
void test_memcpy_warn (char *d, unsigned n)
{
for (unsigned i = n; i < 30; ++i)
if (i > 10)
__builtin_memcpy (d, d + 2, i); /* { dg-warning "overlaps" } */
}
```
So we started to pull out of the loop `d+2` and (with my patch rewriting it
since it is a conditional) since r16-190-g6901d56fea2132 .
This is why I didn't see it before even. I wonder if the compute_invariantness
change should take into account conditional expressions ...