------- Comment #6 from rguenth at gcc dot gnu dot org 2010-04-08 10:00 ------- (In reply to comment #5) > (In reply to comment #4) > > The extra cast happens if the function signatures are not compatible > > (by means of useless_type_conversion_p). > > Ok. Do you know why that behavior changed between gcc 4.4 and 4.5?
It changed because of the gimple type system got a verifier. > Is there a way to obtain the function decl from D.1966_3 in the 4.5 example or > do we really need to reject sibcall optimizations in that case? You can do a lookup in the SSA web (well, but it'll be expanded as an indirect call probably - you have to check). -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43635