This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [3.3/mainilne] Fix kernel misscopmiilation for hammer
- From: Jan Hubicka <jh at suse dot cz>
- To: Jan Hubicka <jh at suse dot cz>
- Cc: Richard Henderson <rth at redhat dot com>, gcc-patches at gcc dot gnu dot org
- Date: Thu, 3 Apr 2003 22:25:57 +0200
- Subject: Re: [3.3/mainilne] Fix kernel misscopmiilation for hammer
- References: <20030225223852.GB30993@kam.mff.cuni.cz> <20030225224532.GC30993@kam.mff.cuni.cz> <20030225224749.GA13285@redhat.com> <20030225225021.GD30993@kam.mff.cuni.cz> <20030225225133.GC13285@redhat.com> <20030226110629.GA14922@kam.mff.cuni.cz> <20030226171444.GA22942@redhat.com> <20030226193740.GK27482@kam.mff.cuni.cz> <20030304013821.GS12472@redhat.com> <20030403200627.GT19620@kam.mff.cuni.cz>
> > On Wed, Feb 26, 2003 at 08:37:40PM +0100, Jan Hubicka wrote:
> > > * emit-rtl.c (unshare_all_decls, reset_used_decls): Kill.
> > > (set_decl_rtl): Unshare argument.
> > > (unshare_all_rtl, unshare_all_rtl_again): Do not deal with decls.
> > > (copy_rtx_if_shared): Unshare all memory references.
> >
> > I can't believe this is right. Would you give me the test case?
>
> Did you had chance to look into this?
Thanks. For some reason I never received that email.
I was looking into the problem as well. The reason why it has matched
is sick tricky - the jiffies is volatile. Some pass (don't remember
what) manages to move the memory and attempts to match the instructions.
recog refuses any memory references to volatile unless volatile_ok is
set, but movabs matches because it does not check the flag.
I decided to resolve the problems one by one, but got suck on the first.
In general movabs will match for medium model or large addresses so it
must work. I am not quite sure what to do about the volatile problems.
I don't think it hurts in this particular cases (move insn), but I am
not 100% sure.
Honza
>
> Honza
> >
> >
> > r~