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:
> 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.

Except you also have the variant of the insn pattern where the CC is
set and the GPR is clobbered (on PowerPC we have one of those for
every insn, and only a few where CC is clobbered).

> So, my vote for canonically declaring the order non-canonical
> *and* automatically generating/matching both orders.

It would be nice to only have to write the set+set version, and do
some markup to say which of the clobber variants should be generated,
yes.

Having the order canonical is nice for whatever has to match it.
There are a lot more places that have to match it than places that
have to generate it.  We could of course change gen* so you can
write patterns in any order you please in your machine description
files.


Segher


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