https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66787
Andrew Pinski <pinskia at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Known to fail| |8.3.0 Component|c++ |tree-optimization Keywords| |missed-optimization Known to work| |12.0 --- Comment #3 from Andrew Pinski <pinskia at gcc dot gnu.org> --- Looks like it is fixed on the trunk: t9.cc.044t.tailr1:Eliminated tail recursion in bb 4 : _14 = Array<unsigned char, 3>::computeSubSize (this_10(D), _5); t9.cc.044t.tailr1:Eliminated tail recursion in bb 7 : BlendingTable::create (this_16(D), _11, 255, 255); t9.cc.044t.tailr1:Eliminated tail recursion in bb 5 : BlendingTable::create (this_16(D), dst_15, _10, 255); t9.cc.044t.tailr1:Eliminated tail recursion in bb 3 : BlendingTable::create (this_16(D), dst_15, src_13, _9); t9.cc.044t.tailr1:Eliminated tail recursion in bb 8 : BlendingTable::print (this_14(D), _10, 255, 255); t9.cc.044t.tailr1:Eliminated tail recursion in bb 6 : BlendingTable::print (this_14(D), dst_17, _9, 255); t9.cc.044t.tailr1:Eliminated tail recursion in bb 4 : BlendingTable::print (this_14(D), dst_17, src_16, _8); It was not working in GCC 8.0 though: t9.cc.043t.tailr1:Eliminated tail recursion in bb 4 : _15 = Array<unsigned char, 3>::computeSubSize (this_12, _5); t9.cc.043t.tailr1:Eliminated tail recursion in bb 10 : BlendingTable::create (this_16, _11, 255, 255); t9.cc.043t.tailr1:Eliminated tail recursion in bb 8 : BlendingTable::create (this_16, dst_15, _10, 255); t9.cc.043t.tailr1:Eliminated tail recursion in bb 6 : BlendingTable::create (this_16, dst_15, src_13, _9);