Issue 128587
Summary Missed optimization: malloc + memcpy + free => realloc
Labels missed-optimization
Assignees
Reporter Kmeakin
    https://godbolt.org/z/YWxW7h8sP

```c++
#include <cstdlib>
#include <cstring>
#include <memory>

extern "C" {
auto src1(void* p1, size_t old_len, size_t new_len) -> void* {
    void* p2 = malloc(new_len);
    memcpy(p2, p1, old_len);
    free(p1);
    return p2;
}

auto tgt1(void* p1, size_t old_len, size_t new_len) -> void* {
 return realloc(p1, new_len);
}

}
```

alive proof: https://alive2.llvm.org/ce/z/RwPKVk
_______________________________________________
llvm-bugs mailing list
llvm-bugs@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-bugs

Reply via email to