4 Commits

Author SHA1 Message Date
Aiden Grossman
4ec1fea922 Reapply "[Clang] Mark this pointer in destructors dead_on_return (#166276)"
This reverts commit 047db150c66e245e9df7db178b893ce6b29820f5.

The original version of the commit caused assertion failures in DSE.
Those were fixed in ec059d81aafedb253a02d6f490ad9b9747611038, so trying
to reland this again.
2026-02-08 05:00:29 +00:00
Aiden Grossman
047db150c6 Revert "[Clang] Mark this pointer in destructors dead_on_return (#166276)"
This reverts commit 278fd0553ef5834e005a048a6b480631f3fc1b38.

This was causing some buildbot failures in DSE:
1. https://lab.llvm.org/buildbot/#/builders/25/builds/15425
2. https://lab.llvm.org/buildbot/#/builders/24/builds/17304
2026-02-06 23:11:01 +00:00
Aiden Grossman
278fd0553e
[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.
2026-02-06 14:29:29 -08:00
David Pagan
d7c69c20a7
[clang][OpenMP] Add codegen for scope directive (#109197)
Added codegen for scope directive, enabled allocate and firstprivate
clauses, and added scope directive LIT test.

Testing
  - LIT tests (including new scope test).
  - OpenMP scope example test from 5.2 OpenMP API examples document.
  - Three executable scope tests from OpenMP_VV/sollve_vv suite.
2024-09-19 13:17:24 -07:00