[Bug target/14625] [ix86] tail call optimization missed with syscall attribute

rth at gcc dot gnu dot org gcc-bugzilla@gcc.gnu.org
Thu Feb 10 02:15:00 GMT 2005


------- 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



More information about the Gcc-bugs mailing list