This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: literal pool support
- To: rth at cygnus dot com (Richard Henderson)
- Subject: Re: literal pool support
- From: linas at linas dot org
- Date: Wed, 7 Jul 1999 22:50:43 -0500 (CDT)
- Cc: dje at watson dot ibm dot com, linas at linas dot org, egcs-patches at egcs dot cygnus dot com
It's been rumoured that Richard Henderson said:
>
> On Wed, Jul 07, 1999 at 06:22:52PM -0400, David Edelsohn wrote:
> > The choice of branch instructions would be based solely on
> > instruction length
Choice of the branch instruction needs to depend not on the distance
of branch itself, but whether the branch and the target are both within
4K of the last base register reload.
> > without creating an additional "length"-like
> > attribute.
>
> you don't need to create additional length attributes anyway.
> Just insert the literal pool into the rtl.
Well, I want to agree with this last, but I think I see a gotcha.
If we are to keep MVS 'C LE' compatibility, then the pool needs to stay in
the text section, and the size of the literal could be merged with the
size of the insn itself. But if the elf dynamic linking/pic/shared-lib
abi ends up requiring the litpool to be moved out to the data/rodata section,
then one doesn't want to fiddle the insn sizes this way. So now I need
to keep two different insn lnegths, one for the MVS LE back end and one
for the ELF back end.
--linas