This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

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


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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]