This is the mail archive of the
mailing list for the GCC project.
Re: [RTL] Canonicalize commutative operations more
- From: Mike Stump <mrs at mrs dot kithrup dot com>
- To: Eric Botcazou <ebotcazou at adacore dot com>
- Cc: Marc Glisse <marc dot glisse at inria dot fr>, gcc-patches at gcc dot gnu dot org
- Date: Thu, 4 Apr 2013 08:15:23 -0700
- Subject: Re: [RTL] Canonicalize commutative operations more
- References: <alpine dot DEB dot 2 dot 02 dot 1303191715280 dot 4515 at stedding dot saclay dot inria dot fr> <2628063 dot UuGJrOXufS at polaris> <alpine dot DEB dot 2 dot 02 dot 1303301322310 dot 12904 at laptop-mg dot saclay dot inria dot fr> <1420303 dot Yr0JhII12W at polaris>
On Apr 2, 2013, at 1:55 AM, Eric Botcazou <email@example.com> wrote:
> The question is: do we really need to canonicalize everything?
> The fear (at least mine) is that, by canonicalizing everything, you will make
> changes behind the back of back-ends that could disable some of their patterns
My take, yes, we really need to. My take, during construction, the canonicalization code should kick in and build it canonically. If you had a total ordering predicate, and defined an ordering for any two rtls, then the builder could use it and then there would be no case in which things are not canonicalized. If one tries to do this after the fact, we'll, let's just say, no good come from that.