https://gcc.gnu.org/bugzilla/show_bug.cgi?id=19661
Andrew Pinski changed:
What|Removed |Added
Status|ASSIGNED|RESOLVED
Target Milestone|---
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:
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
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
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
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
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);
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=19661
Andrew Pinski changed:
What|Removed |Added
Status|NEW |ASSIGNED
Assignee|unassigned
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. ***
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
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=19661
Andrew Pinski changed:
What|Removed |Added
CC||rdiezmail-gcc at yahoo dot de
---
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
--- 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
--- 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
14 matches
Mail list logo