This is the mail archive of the 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 04/11/2004, at 5:19 PM, Alan Modra wrote:

On Thu, Nov 04, 2004 at 12:10:25PM -0800, Geoff Keating wrote:
Alan Modra <> writes:

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.

You're hiding information from earlier passes in the compiler, which is not a good thing.

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?

I'm not sure why it had to be an unspec. However, it would be a really good thing if we could arrange that r30 could be used by functions that don't need the got.

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

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.

What problems did you find?

Attachment: smime.p7s
Description: S/MIME cryptographic signature

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