llvm-project
278fd055 - [Clang] Mark this pointer in destructors dead_on_return (#166276)

Commit
77 days ago
[Clang] Mark this pointer in destructors dead_on_return (#166276) This helps to clean up any dead stores that come up at the end of the destructor. The motivating example was a refactoring in libc++'s basic_string implementation in 8dae17be2991cd7f0d7fd9aa5aecd064520a14f6 that added a zeroing store into the destructor, causing a large performance regression on an internal workload. We also saw a ~0.2% performance increase on an internal server workload when enabling this. I also tested this against all of the non-flaky tests in our large C++ codebase and found a minimal number of issues that all happened to be in user code.
Parents
Loading