This is the mail archive of the gcc-patches@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]

Re: [3.3/mainilne] Fix kernel misscopmiilation for hammer


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


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