https://gcc.gnu.org/bugzilla/show_bug.cgi?id=115670
--- Comment #5 from Andrew Pinski <pinskia at gcc dot gnu.org> --- So at -O1, foo0, foo5, foo6 are the only ones left. at -O0, foo1, foo2, foo3, foo4 are also emitted but that is expected since GCC emits static unused functions always at -O0. So let's keep this for foo0/foo5. I will file one for foo6 in a second.