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: Fix powerpc-linux gcc.dg/20020103-1.c


On Thu, Nov 04, 2004 at 12:10:25PM -0800, Geoff Keating wrote:
> Alan Modra <amodra@bigpond.net.au> writes:
> > Ping!  http://gcc.gnu.org/ml/gcc-patches/2004-10/msg02570.html
> 
> I don't think this patch is the right direction.  You're working
> around reload in the backend.

Not really.  I'm delaying generation of unspec rtl that generic code
can't handle.  Surely that is a good thing, as it fits in with the
philosophy of keeping target dependent wrinkles out of intermediate
representations as long as possible.  As demonstrated by the fact that
this change allows us to generate ideal code without further
complicating reload with target dependent information.

Of course, that argument fails if you really need the unspec early.
I'm reasonably confident we don't.  As far as I can tell,
unspec_movsi_got was a half-baked attempt to reserve r30 early
enough so that r30 was free to use if a function didn't make any got
accesses.  True?

>  Instead, you should teach reload how to
> load from a SYMBOL_REF.  I believe this is just a change to
> rs6000_emit_move.

I looked at changing reload before taking the approach I did.  It's not
quite as simple as you indicate, ie. more than just rs6000_emit_move
needs changing, I think.

-- 
Alan Modra
IBM OzLabs - Linux Technology Centre


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