------- Comment #14 from steven at gcc dot gnu dot org 2008-12-18 22:35 ------- Created an attachment (id=16939) --> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=16939&action=view) make all functions with nonzero crtl->outgoing_args_size non-leaf
The result of this patch is that DCE of dead const/pure calls still happens, but the argument pushes will stay around. Removing the pushes too is just hard and not really worth it. A nice-to-have would be some mechanism to detect this situation where we remove a call but not the pushes, because it probably will be the result of a missed optimization on GIMPLE... -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38245