This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug target/65358] wrong parameter passing code with tail call optimization on arm
- From: "ktkachov at gcc dot gnu.org" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: Mon, 16 Mar 2015 11:59:03 +0000
- Subject: [Bug target/65358] wrong parameter passing code with tail call optimization on arm
- Auto-submitted: auto-generated
- References: <bug-65358-4 at http dot gcc dot gnu dot org/bugzilla/>
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65358
ktkachov at gcc dot gnu.org changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |ktkachov at gcc dot gnu.org
--- Comment #10 from ktkachov at gcc dot gnu.org ---
Hmmm, I have a fix to check_sibcall_argument_overlap in calls.c that's supposed
to catch the overlap in accesses on the stack and correctly identify the
conflict. This detection has the effect of getting gcc to decide that it can't
do a tail-call here. I wonder, is this the way to go i.e. should we indeed be
disabling sibcalls in this case? I think so, if the ABI demands that part of
the struct is passed on the stack...