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: RFA: Fix rtl-optimization/57425


On Wed, 19 Jun 2013, Joern Rennecke wrote:

> > I.e. the arguments after your patch are exactly swapped.  This is usually
> > harmless, but not always, so that should be corrected before check in.
> > The change in cselib.c:cselib_invalidate_mem has the same problem.
> 
> Well, I have already committed the patch, so attached is a patch to fix
> things up.


>  int                                                                            
>  anti_dependence (const_rtx mem, const_rtx x)                                   
>  {                                                                              

...

>  int                                                                            
> -canon_anti_dependence (const_rtx mem, enum machine_mode mem_mode,              
> -                      rtx mem_addr, const_rtx x)                               
> +canon_anti_dependence (const_rtx x, enum machine_mode x_mode, rtx x_addr,      
> +                      const_rtx mem, bool mem_canonicalized)                   
 {                                                                              

That's not good.  You now have different order of parameters between 
anti_dependence and canon_anti_dependence.  That will be mightily 
confusing, please instead change the caller.  Currently these predicates 
take their arguments in the order of the corresponding instructions, that 
should better be retained:

true_dependence:  write-then-(depending)read
anti_dependence:  read-then-(clobbering)write
write_dependence: write-then-(clobbering)write

We could change the order of arguments to something else, like first the 
clobber, then the clobbered, but then that should be done for all the 
predicates at the same time (and I would suggest to not do it).


Ciao,
Michael.


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