This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: HP-UX IA64 pointer optimization fix / workaround
- From: Mark Mitchell <mark at codesourcery dot com>
- To: sje at cup dot hp dot com
- Cc: gcc-patches at gcc dot gnu dot org
- Date: 10 Apr 2003 11:08:52 -0700
- Subject: Re: HP-UX IA64 pointer optimization fix / workaround
- References: <200304071812.LAA20327@hpsje.cup.hp.com>
On Mon, 2003-04-07 at 11:12, Steve Ellcey wrote:
> This is a fix for HP-UX IA64 which needs to know when things are
> pointers or not before extending them. There are two optimizations for
> combining the extending of pointers with an add instruction
> (*ptr_extend_plus_1 and *ptr_extend_plus_2) but they only work when you
> know which operand is an address and which is an offset. The new
> addp4_optimize_ok function makes sure that we have one address and one
> offset before doing the optimization. In addition it turns of the
> optimization completely for C++ because in that front-end we lie about
> what is and is not an address (See GNAT c++/6685).
This is a pretty disgusting patch, but I can't think of anything better
that's easy to implement.
So, this patch is OK for 3.3 and mainline.
Thanks,
--
Mark Mitchell
CodeSourcery, LLC
mark at codesourcery dot com