This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [trunk<-vta] Re: [vtab] Permit coalescing of user variables
- From: Alexandre Oliva <aoliva at redhat dot com>
- To: Jakub Jelinek <jakub at redhat dot com>
- Cc: gcc-patches at gcc dot gnu dot org
- Date: Sun, 05 Jun 2011 23:37:43 -0300
- Subject: Re: [trunk<-vta] Re: [vtab] Permit coalescing of user variables
- References: <orabr2bqqv.fsf@free.oliva.athome.lsd.ic.unicamp.br> <4702B1C0.80807@redhat.com> <orr6kd3sux.fsf@free.oliva.athome.lsd.ic.unicamp.br> <orabqsm0tz.fsf@free.oliva.athome.lsd.ic.unicamp.br> <orskikz9mh.fsf_-_@free.oliva.athome.lsd.ic.unicamp.br> <orvdij579w.fsf@livre.localdomain> <orfwnpg46x.fsf@livre.localdomain> <20110604130203.GL17079@tyan-ft48-01.lab.bos.redhat.com> <or1uz8f0w1.fsf@livre.localdomain>
On Jun 5, 2011, Alexandre Oliva <aoliva@redhat.com> wrote:
> On Jun 4, 2011, Jakub Jelinek <jakub@redhat.com> wrote:
>> The following changes all look wrong to me, they make the tests totally
>> useless. If both f and g are used in real code after the asm volatile, then
>> the both f and g will likely live in some register or memory.
>> The whole point of the construct in the tests is that f has at that spot
>> a reg or mem location, but g isn't present anywhere anymore (as the compiler
>> doesn't or shouldn't know that asm volatile hasn't changed f), thus it
>> should represent them as bswap/clz/ctz/rotate.
> I see. I'll try to figure out why that didn't work.
So, I tried to duplicate the problem and failed. The cut&pasto fix
r174632 fixed the only two cases that had failed, on x86_64-linux-gnu
and only at -O1. I suppose the wrong bit width made the expression
unsuitable for a rotate or debug expr, but the fix made the tests pass
again, so I withdraw the âfixesâ for those testcases: they work even
with coalescing fully enabled. Thanks for catching this.
--
Alexandre Oliva, freedom fighter http://FSFLA.org/~lxoliva/
You must be the change you wish to see in the world. -- Gandhi
Be Free! -- http://FSFLA.org/ FSF Latin America board member
Free Software Evangelist Red Hat Brazil Compiler Engineer