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: sparc build broken...


On Fri, Jun 1, 2012 at 12:05 AM, David Miller <davem@davemloft.net> wrote:
> From: Steven Bosscher <stevenb.gcc@gmail.com>
> Date: Thu, 31 May 2012 23:42:26 +0200
>
>> Could you please give the attached patch a try?
>> Sorry for the inconvenience!
>
> I'm sure it works, but function calls are quite expensive on
> sparc.

There are four eliminable registers on sparc, and for one of them
there already is a function call. On the whole of GCC, will the few
extra function calls be a problem?

FWIW:
targets that have INITIAL_ELIMINATION_OFFSET as a function (i.e. macro
that just calls a function): alpha, arm,avr, bfin, c6x, cr16, cris,
epiphany, fr30, frv, h8300, ix86, ia64, iq2000, lm32, m32c, m68k,
mcore, mep, microblaze, mips, mmix, mn10300, moxie, pa, pdp11,
picochip, rl78, rs6000, rx, s390, score, sh, spu, stormy16, tilegx,
tilepro,

targets that have it as an elaborate macro: m32r, sparc, v850, xtensa,

So SPARC is in the overwhelming minority :-) I'm sure that in the long
list of targets that have INITIAL_ELIMINATION_OFFSET as a call there
are other targets where a call is relatively expensive.

Besides, at least as far as I understand, it's sort-of a "design goal"
for gcc to move from target macros to target hooks. So you're going to
have to deal with some more calls anyway.

The alternative is to put back output.h in a file that really doesn't
need it, other than for some target macros. That seems rather fragile
to me, target hooks/functions are more robust.

Ciao!
Steven


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