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

    <tr>
        <th>Summary</th>
        <td>
            [clang] feature request: in for loops, optimize out strlen when we can check for NUL
        </td>
    </tr>

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

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

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

<pre>
    Transform

```c
char *
f(const char *s, int c)
{
    for (size_t i = 0; i < strlen(s); ++i)
        if (s[i] == (char)c)
                return s + i;
    return NULL;
}
```

into

```c
char *
f(const char *s, int c)
{
    for (size_t i = 0; s[i]; ++i)
        if (s[i] == (char)c)
                return s + i;
    return NULL;
}
```
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJzMk1GPmzAMxz-NebGuCkkh8MBDOVRpWnV72G6vUxpMyRZIl4RNu08_hXK3al9gk1AIsf3Df9tRIZjLTNRA0ULRZWqJo_PNu8P7D-3nj9nZ9b-aT17NYXB-AtYBO2xryW6Pvn3rUXkEvlkH4JV2c4j4eh6AP6KZI2rg9YaQ7W2DiDi45FYF80JfIhoE0SED0a7bRwzRW5qTQwoXLQJvgbfmDZYYwGozrBQoWgNFlygJlLIZlQde3_2d1cBqT3HxM4bEQwPiLqPN9PR8Or2dg-z-kn9fEzNH909q9Kr3fypM1jeir0WtMmpyyWophZBVNjZlRbzqhTgzYlTlQ677vqw16UEMSrIyMw1nfM8EkyxnvKh2g1QiF5XY5yX1WkrYM5qUsTtrf0w75y-ZCWGhptrzssysOpMN60Bzrq2aL8B5mm3fJP-H83IJsGfWhBj-EKKJdr0Ft4iiw4FUXDyhp-8LhQjigGZee2Cdu669ctdoJvNC6Ja4jSj-HNNCqNWMeiT9bQ15ej5li7fNGOM1gDgAPwI_Xkwcl_NOuwn4MaWyvR6u3n0lHYEfV2UB-HEV9zsAAP__XdYC8Q">