Fix rtl sharing in ifcvt try 2
Jan Hubicka
jh@suse.cz
Tue Jul 1 18:10:00 GMT 2003
>
> On Tuesday, Jul 1, 2003, at 13:55 US/Eastern, Jan Hubicka wrote:
>
> >>On Mon, Jun 30, 2003 at 07:07:20PM +0200, Jan Hubicka wrote:
> >>>OK, so you mean to set centrelly these bits for all operands put into
> >>>if_info and clear it after processing ...
> >>
> >>Yes. It reduces the number of places that you need to
> >>change, and thus the chance that you'll miss something.
> >>
> >>>Perhaps we need verifier thatn RTL is unshared.
> >>
> >>Yes, this would be a good rtl-checking feature.
> >
> >I am sending the patch. While copying the code I noticed that it
> >unshares LABEL_REFs that is probably nonsense and also it walks
> >ASM_OPERANDS multiple times. I've changed it in new copy and now I am
> >testing symetric change to the old copy.
> >
> >The patch passes bootstrap/make check on i386 without finding any
> >sharing. This is not the case for x86-64 where we share several
> >subregs
> >after ifcvt. That should be fixed by the original ifcvt fix
> >OK?
> >
> >I also had to do checking not before reload, but before insn splitting
> >as insn splitting introduces plenty of sharing. Should I care
> >unsharing
> >in try_split?
> >
> >Honza
>
> If this goes in, how much time does this patch add, is it small like
> most other checking or is it large like rtl_checking?
It depends how many times you check the chain. At the moment I do call
it twice, once before reload when we can check that memory are unshared
and once at the end of compilation. The pass is very trivial, so I
would estimate it by at about 2%.
Honza
>
>
> Thanks,
> Andrew Pinski
>
More information about the Gcc-patches
mailing list