This is the mail archive of the gcc@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: REGRESSION in 3.2.1-pre on mips-irix6 (and elsewhere) compiling execute/20011219-1.c


> Jan,
> 
> Jan Hubicka wrote:
> >>
> >>--On Wednesday, November 13, 2002 02:11:26 AM -0500 "Kaveh R. Ghazi" 
> >><ghazi@caip.rutgers.edu> wrote:
> >>
> >>
> >>>Sometime in the last day or so, I'm getting a new regression from the
> >>>gcc-3.2.1-pre testsuite on mips-irix6 when compiling
> >>>execute/20011219-1.c.
> >>
> >>Jan, Graham -- I'd bet that this is fallout from your PR8502 patch.
> >>
> >>Would you please take a look?
> >
> >I will do.  I tought it is failing in ppc, so tried it to reproduce on
> >ppc croos that of course failed.  Another try.
> >However the patch just prevents optimization to happen, so it is
> >probably latent bug somewhere else :)
> >
> >Honza
> >
> >>-- 
> >>Mark Mitchell                mark@codesourcery.com
> >>CodeSourcery, LLC            http://www.codesourcery.com
> >
> >
> 
> Oh what a twisty maze our cfg jumptable tidying up cost is.
The jumptable issue ineed is very sick.
Perhaps we can add just code to add necesary hardjump around when this
happends.
> 
> I'm wandering if it's caused by a deadjump table not getting deleted
> perhaps we can refine the new test to be
> 
>   rtx label;
> 
>   ....
> 
>   if (reload_completed
>       && (label = JUMP_LABEL (insn))
>       && LABEL_NUSES (label) > LABEL_PRESERVE_P (label)
>       && (table = NEXT_INSN (label)) != NULL_RTX
>       && GET_CODE (table) == JUMP_INSN
>       && (GET_CODE (PATTERN (table)) == ADDR_VEC
>           || GET_CODE (PATTERN (table)) == ADDR_DIFF_VEC))
>     return false;
> 
> This should allow a dead jump table to get deleted post reload
> and also prevent a jump table that's referenced from being deleted.

Most jumptables are referenced by the code preparing tablejump actually
and since no other code can refer to it, unfortunately. I don't see how
this can work without disabling the optimization entirely...  
> 
> 
> I'll try and reproduce the problem on an mips cross compiler and
> see my idea fixes the problem.
THanks.
I will look into the other bugreport assigned to me tonight, so please
let me know what you got.

Honza
> 
> 
> Graham
> 


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