This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug target/14625] [ix86] tail call optimization missed with syscall attribute
- From: "rth at gcc dot gnu dot org" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: 9 Feb 2005 23:47:32 -0000
- Subject: [Bug target/14625] [ix86] tail call optimization missed with syscall attribute
- References: <20040318004529.14625.drepper@redhat.com>
- Reply-to: gcc-bugzilla at gcc dot gnu dot org
------- Additional Comments From rth at gcc dot gnu dot org 2005-02-09 23:47 -------
Yes. The test should look something like
+ popc = RETURN_POPS_ARGS (current_function_decl,
+ TREE_TYPE (current_function_decl),
+ current_function_args_size);
+ popf = RETURN_POPS_ARGS (fndecl, fntype, args_size_const);
...
+ && popc == current_function_args_size
+ && popf == args_size_const
+ && (popc - popf) % STACK_BYTES == 0)
Except that other changes would be needed elsewhere to deal with allocating
extra stack space (as in the test case here) or deallocating extra space just
before the call (if there are in fact fewer arguments and both functions are
marked stdcall).
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=14625