[Bug tree-optimization/19661] unnecessary atexit calls emitted for static objects with empty destructors

2024-05-07 Thread pinskia at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=19661 Andrew Pinski changed: What|Removed |Added Status|ASSIGNED|RESOLVED Target Milestone|---

[Bug tree-optimization/19661] unnecessary atexit calls emitted for static objects with empty destructors

2024-05-07 Thread cvs-commit at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=19661 --- Comment #20 from GCC Commits --- The trunk branch has been updated by Andrew Pinski : https://gcc.gnu.org/g:c9dd853680b12d9c9def5de61abde5d057c526ba commit r15-308-gc9dd853680b12d9c9def5de61abde5d057c526ba Author: Andrew Pinski Date:

[Bug tree-optimization/19661] unnecessary atexit calls emitted for static objects with empty destructors

2024-04-18 Thread pinskia at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=19661 --- Comment #19 from Andrew Pinski --- (In reply to Andrew Pinski from comment #18) > Created attachment 57987 [details] > Patch which I will be submitting once GCC 15 stage 1 opens up I forgot to add the testcase from comment #12. the patch

[Bug tree-optimization/19661] unnecessary atexit calls emitted for static objects with empty destructors

2024-04-18 Thread pinskia at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=19661 --- Comment #18 from Andrew Pinski --- Created attachment 57987 --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=57987=edit Patch which I will be submitting once GCC 15 stage 1 opens up

[Bug tree-optimization/19661] unnecessary atexit calls emitted for static objects with empty destructors

2024-03-16 Thread i at maskray dot me via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=19661 Fangrui Song changed: What|Removed |Added CC||i at maskray dot me --- Comment #17 from

[Bug tree-optimization/19661] unnecessary atexit calls emitted for static objects with empty destructors

2024-03-15 Thread pinskia at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=19661 --- Comment #16 from Andrew Pinski --- So what is interesting is the way LLVM implements this as an IPO pass as how I described in comment #8, 6 years after I wrote that. Well they used "empty" rather than const . Note using it as an IPO pass I

[Bug tree-optimization/19661] unnecessary atexit calls emitted for static objects with empty destructors

2024-03-15 Thread pinskia at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=19661 --- Comment #15 from Andrew Pinski --- The patch is able to handle all 3 testcases here even: For the libstdc++ one: t3.cc.123t.dce2:Deleting : __cxxabiv1::__cxa_atexit (__dt_comp , , &__dso_handle);

[Bug tree-optimization/19661] unnecessary atexit calls emitted for static objects with empty destructors

2024-03-15 Thread pinskia at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=19661 Andrew Pinski changed: What|Removed |Added Status|NEW |ASSIGNED Assignee|unassigned

[Bug tree-optimization/19661] unnecessary atexit calls emitted for static objects with empty destructors

2022-11-02 Thread redi at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=19661 --- Comment #13 from Jonathan Wakely --- *** Bug 107500 has been marked as a duplicate of this bug. ***

[Bug tree-optimization/19661] unnecessary atexit calls emitted for static objects with empty destructors

2022-11-02 Thread redi at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=19661 Jonathan Wakely changed: What|Removed |Added Last reconfirmed|2006-02-05 21:10:26 |2022-11-2 --- Comment #12 from

[Bug tree-optimization/19661] unnecessary atexit calls emitted for static objects with empty destructors

2022-11-02 Thread pinskia at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=19661 Andrew Pinski changed: What|Removed |Added CC||rdiezmail-gcc at yahoo dot de ---

[Bug tree-optimization/19661] unnecessary atexit calls emitted for static objects with empty destructors

2021-09-24 Thread antoshkka at gmail dot com via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=19661 --- Comment #10 from Antony Polukhin --- Any progress? Multiple compilers already eliminate the atexit call. Moreover, some of the compilers even eliminate the guard variable after that https://godbolt.org/z/dbdfMrroa Note that the atexit

[Bug tree-optimization/19661] unnecessary atexit calls emitted for static objects with empty destructors

2008-02-20 Thread pinskia at gcc dot gnu dot org
--- Comment #9 from pinskia at gcc dot gnu dot org 2008-02-20 21:52 --- (In reply to comment #7) Why do you think the front-end doesn't know that the destructor is empty? Because it is non trivial. Try it with a more complex case where you have multiple layer destructors and

[Bug tree-optimization/19661] unnecessary atexit calls emitted for static objects with empty destructors

2005-09-24 Thread pinskia at gcc dot gnu dot org
--- Additional Comments From pinskia at gcc dot gnu dot org 2005-09-24 17:42 --- Hmm, the easy way to to have a pass which finds all the atexit calls and sees if the function which is passed is a const function and if it is, then just remove the atexit call. -- What