This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [PATCH] Attempt to fix execute/20000419-1 (sibcall related)
- To: Jakub Jelinek <jakub at redhat dot com>
- Subject: Re: [PATCH] Attempt to fix execute/20000419-1 (sibcall related)
- From: Richard Henderson <rth at cygnus dot com>
- Date: Fri, 7 Jul 2000 10:15:07 -0700
- Cc: gcc-patches at gcc dot gnu dot org
- References: <20000707190019.F17419@sunsite.ms.mff.cuni.cz>
On Fri, Jul 07, 2000 at 07:00:19PM +0200, Jakub Jelinek wrote:
> I don't know though if check_sibcall_argument_overlap_1 will find all the
> problematic cases ...
I'd worry about aliasing here too. Consider two mems, one for int
and one for float. Their alias set differences could easily schedule
the store before the load despite your efforts here.
We could perhaps force all loads from the argument block to be the
same alias set during sibcalls. We'll be asserting that no argument
gets its address taken, so there's no worry about that sort of alias
set descrepencies from normal usage. The problem is that I'm not
certain how to accomplish this -- alias set assignment happens elsewhere,
and not anything that we can tweek differently between normal and
sibcall alternatives.
Well, perhaps immediately after we assert that there are no arguments
with their address taken, we rescan the function modifying the alias set
for each mem found that references the argument block.
> BTW: Was the sibcall bug you mentioned something else?
Yes. I'll have to search for it.
r~