This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [PATCH] Try to coalesce for unary and binary ops
- From: Steven Bosscher <stevenb dot gcc at gmail dot com>
- To: Michael Matz <matz at suse dot de>
- Cc: Richard Biener <rguenther at suse dot de>, GCC Patches <gcc-patches at gcc dot gnu dot org>, Jeff Law <law at redhat dot com>
- Date: Fri, 18 Apr 2014 13:30:59 +0200
- Subject: Re: [PATCH] Try to coalesce for unary and binary ops
- Authentication-results: sourceware.org; auth=none
- References: <alpine dot LSU dot 2 dot 11 dot 1404171327320 dot 3272 at zhemvz dot fhfr dot qr> <alpine dot LNX dot 2 dot 00 dot 1404171552170 dot 20425 at wotan dot suse dot de>
On Thu, Apr 17, 2014 at 4:00 PM, Michael Matz wrote:
>> And to have sth that TER not immediately un-does we have
>> to disable TER which conveniently happens for coalesced
>> SSA names.
>
> So, instead TER should be improved to not disturb the incoming instruction
> order (except where secondary effects of expanding larger trees can be
> had). Changing the coalescing set to disable some bad parts in a later
> pass doesn't sound very convincing :)
IMHO TER should be improved to *do* disturb the order of the incoming
instructions, to reduce register pressure. There are test cases I've
looked at (pathological cases, I'll admit) where TER forwarded loads
to stores and blew up register pressure.
Alternatively: Do what has to be done to enable sched1 for ix86/x86_64...
Ciao!
Steven