[llvm-dev] Missed strlen optimizations

Dávid Bolvanský via llvm-dev llvm-dev at lists.llvm.org
Fri Apr 20 10:19:52 PDT 2018


  Use *last = nullptr;
  for (Use &U : Src->uses())
      last = &U;
  last->getUser()->dump();


Or any better solution?

2018-04-20 19:19 GMT+02:00 Dávid Bolvanský <david.bolvansky at gmail.com>:

> Is:
>
>
> 2018-04-20 18:07 GMT+02:00 Dávid Bolvanský <david.bolvansky at gmail.com>:
>
>> Hello,
>>
>> Code: https://godbolt.org/g/EG4Wi6
>>
>> unsigned fff3(void) {
>>     char buf[10] = "";
>>     return strlen(buf);
>> }
>>
>> Since we are memset-ing before strlen call, we could replace strlen with
>> just 0.
>>
>> Has LLVM any API to get "last instruction before strlen" which modifies
>> strlen argument "buf"? So we can check "yes, it is memset there, replace
>> strlen with zero" ?
>>
>>
>> Thanks
>>
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20180420/43e98be2/attachment-0001.html>


More information about the llvm-dev mailing list