This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [PATCH,updated] PR35371 GCSE loses track of REG_POINTER attribute
- From: Eric Botcazou <ebotcazou at adacore dot com>
- To: Peter Bergner <bergner at vnet dot ibm dot com>
- Cc: gcc-patches at gcc dot gnu dot org, Richard Sandiford <rsandifo at nildram dot co dot uk>, Jeff Law <law at redhat dot com>, "H.J. Lu" <hjl dot tools at gmail dot com>
- Date: Sat, 5 Apr 2008 09:36:43 +0200
- Subject: Re: [PATCH,updated] PR35371 GCSE loses track of REG_POINTER attribute
- References: <20080331225840.GA30393@vervain.rchland.ibm.com>
> This has bootstrapped and regtested with no errors on powerpc64-linux and
> H.J. kindly SPEC tested this on x86_64 and saw no performance regressions.
> Is this ok for mainline?
It's OK if you find a better name for gen_reg_rtx_copy: the bare "copy"
clearly suggests that it will copy the value of the source. Something like
gen_reg_rtx_and_attrs for example but Richard may have a better idea.
> Is it appropriate for gcc4.3?
I'd say no: this is apparently not a regression and I think that touching
commutative_operand_precedence should only be done with caution.
> PR rtl-optimization/35371
> * rtlanal.c: Update copyright years.
> (commutative_operand_precedence): Give SYMBOL_REF's the same precedence
> as REG_POINTER and MEM_POINTER operands.
> * emit-rtl.c (gen_reg_rtx_copy): New function.
> (set_reg_attrs_from_value): Call mark_reg_pointer as appropriate.
> * rtl.h (gen_reg_rtx_copy): Add prototype for new function.
> * gcse.c: Update copyright years.
> (pre_delete): Call gen_reg_rtx_copy.
> (hoist_code): Likewise.
> (build_store_vectors): Likewise.
> (delete_store): Likewise.
> * loop-invariant.c (move_invariant_reg): Likewise.
> Update copyright years.
--
Eric Botcazou