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: Compare-elim pass (was: Re: [PATCH] Fix PR 61225)


On Sat, Jan 17, 2015 at 01:18:44PM -0500, Hans-Peter Nilsson wrote:
> (Waking up an old thread with my 2 cents due to being a little
> behind on reading...)
> 
> On Sat, 6 Dec 2014, Jakub Jelinek wrote:
> > On Sat, Dec 06, 2014 at 09:28:57AM +0100, Uros Bizjak wrote:
> > > > That's already what it does though, did you mean the opposite?  Or did you
> > > > mean to write "combine" instead of "compare"?
> > >
> > > The above should read "... that existing RTX *combine* pass be updated
> > > ...", thanks for pointing out!
> >
> > Which target actually uses the [(operation) (set (cc) ...)] order in their
> > *.md patterns?  Even aarch64 and arm use the [(set (cc) ...) (operation)]
> > order that combine expects, I thought compare-elim was written for those
> > targets?  If the vast majority of mds use the order that combine expects,
> > I think it should be easier to adjust compare-elim.c and those few targets
> > that diverge.
> 
> The current cc-first order happened more of an accidental
> opinion than an architectural decision as I vaguely recall, when
> asking.  We also have the canonical location of a *cc clobber*,
> i.e. last in a parallel.  For that reason, it then makes sense
> to have the *cc-setting* last.  Changing rebelling ports doesn't
> solve that inconsistency.

Clobber is clobber, all clobbers come last, so it has nothing to do if
cc set is first or second.

	Jakub


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