[Bug c++/84411] Missed optimization: static guard variable generated for empty virtual destructor
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=84411 Bug 84411 depends on bug 19661, which changed state. Bug 19661 Summary: unnecessary atexit calls emitted for static objects with empty destructors https://gcc.gnu.org/bugzilla/show_bug.cgi?id=19661 What|Removed |Added Status|ASSIGNED|RESOLVED Resolution|--- |FIXED
[Bug c++/84411] Missed optimization: static guard variable generated for empty virtual destructor
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=84411 Andrew Pinski changed: What|Removed |Added CC||antoshkka at gmail dot com --- Comment #3 from Andrew Pinski --- *** Bug 87831 has been marked as a duplicate of this bug. ***
[Bug c++/84411] Missed optimization: static guard variable generated for empty virtual destructor
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=84411 Andrew Pinski changed: What|Removed |Added CC||barry.revzin at gmail dot com --- Comment #2 from Andrew Pinski --- *** Bug 109268 has been marked as a duplicate of this bug. ***
[Bug c++/84411] Missed optimization: static guard variable generated for empty virtual destructor
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=84411 Andrew Pinski changed: What|Removed |Added Depends on||19661 Status|UNCONFIRMED |NEW Last reconfirmed||2024-03-16 Ever confirmed|0 |1 CC||pinskia at gcc dot gnu.org --- Comment #1 from Andrew Pinski --- This depends on PR 19661. But then we still need to remove: [local count: 1073741824]: _1 = __atomic_load_1 (&_ZGVZ8get_basevE1d, 2); if (_1 == 0) goto ; [33.00%] else goto ; [67.00%] [local count: 956811341]: goto ; [100.00%] [local count: 354334800]: _2 = __cxa_guard_acquire (&_ZGVZ8get_basevE1d); if (_2 != 0) goto ; [33.00%] else goto ; [67.00%] [local count: 116930483]: __cxa_guard_release (&_ZGVZ8get_basevE1d); Note clang/LLVM does not remove the use of the guard here either, even though it does remove the __cxa_atexit. Referenced Bugs: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=19661 [Bug 19661] unnecessary atexit calls emitted for static objects with empty destructors
[Bug c++/84411] Missed optimization: static guard variable generated for empty virtual destructor
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=84411 Andrew Pinski changed: What|Removed |Added Severity|normal |enhancement