This is the mail archive of the
mailing list for the GCC project.
Re: PR63633: May middle-end come up width hard regs for insn expanders?
- From: Vladimir Makarov <vmakarov at redhat dot com>
- To: Segher Boessenkool <segher at kernel dot crashing dot org>, Steven Bosscher <stevenb dot gcc at gmail dot com>
- Cc: Georg-Johann Lay <avr at gjlay dot de>, GCC Development <gcc at gcc dot gnu dot org>, Jeff Law <law at redhat dot com>, Jakub Jelinek <jakub at redhat dot com>, Denis Chertykov <chertykov at gmail dot com>, Senthil Kumar Selvaraj <senthil_kumar dot selvaraj at atmel dot com>
- Date: Tue, 21 Apr 2015 23:55:33 -0400
- Subject: Re: PR63633: May middle-end come up width hard regs for insn expanders?
- Authentication-results: sourceware.org; auth=none
- References: <544A5C14 dot 5030607 at gjlay dot de> <544A7CFA dot 700 at redhat dot com> <20141024162919 dot GL10376 at tucnak dot redhat dot com> <544A7EE5 dot 1040303 at redhat dot com> <544A984D dot 8080804 at gjlay dot de> <20141024182950 dot GQ10376 at tucnak dot redhat dot com> <5530D95F dot 3070603 at gjlay dot de> <55355D76 dot 9060500 at redhat dot com> <CABu31nNE9f_BYYWL2Wd2BS2Ei8HpU4xkpJOvmduv2PRZKxm_aw at mail dot gmail dot com> <20150421060414 dot GA5958 at gate dot crashing dot org>
On 21/04/15 02:04 AM, Segher Boessenkool wrote:
On Tue, Apr 21, 2015 at 12:27:40AM +0200, Steven Bosscher wrote:
On Mon, Apr 20, 2015 at 10:11 PM, Vladimir Makarov wrote:
I might be wrong but I think you have a bloated code because you use
scratches. I already told several times that usage of scratch is always a
bad idea. It was a bad idea for an old RA and is still a bad idea for IRA.
The usage of scratches should be prohibited, probably we should write it
somewhere. It is better to use just a regular pseudo instead.
Thanks Vladimir, I didn't know this.
Does this mean that, for example, extendsidi in i386.md would be
better if it did not use match_scratch?
The combiner can add or remove clobbers of scratches whenever needed,
but it cannot do that for clobbers of pseudos.
Yes, I think there are some pitfalls with scratches in other passes.
As for combiner, it is probably worth to consider processing clobbers of
pseudos with *one* reference as scratches too. It might improve code
for some cases although I am not sure about this.