Patchwork [ARM,4_7-branch] Backport fix for flto failure with neon intrinsics.

login
register
mail settings
Submitter Ramana Radhakrishnan
Date May 25, 2012, 9:58 a.m.
Message ID <CACUk7=X3erGHUJS7nLxOnzUXMa0WPi_kSG31bpt8K7jS24Z+AQ@mail.gmail.com>
Download mbox | patch
Permalink /patch/161269/
State New
Headers show

Comments

Ramana Radhakrishnan - May 25, 2012, 9:58 a.m.
Hi,

We hit an ICE using lto with neon intrinsics that could be traced back
to an invalid call to convert during expand with LTO . Fixed by
backporting Richi's fix from mainline - checking he had no objections
to this on IRC , tested cross on arm-linux-gnueabi with qemu for no
regressions.

Applied to the FSF 4.7 branch.


regards,
Ramana


2012-05-24  Ramana Radhakrishnan  <ramana.radhakrishnan@linaro.org>

        Backport from mainline
        2012-03-12  Richard Guenther  <rguenther@suse.de>
        * config/arm/arm.c (neon_dereference_pointer): Do not call
        covert during RTL expansion.

Patch

Index: gcc/config/arm/arm.c
===================================================================
--- gcc/config/arm/arm.c	(revision 187800)
+++ gcc/config/arm/arm.c	(working copy)
@@ -20604,9 +20604,8 @@ 
   array_type = build_array_type (elem_type, build_index_type (upper_bound));

   /* Dereference EXP using that type.  */
-  exp = convert (build_pointer_type (array_type), exp);
   return fold_build2 (MEM_REF, array_type, exp,
-		      build_int_cst (TREE_TYPE (exp), 0));
+		      build_int_cst (build_pointer_type (array_type), 0));
 }

 /* Expand a Neon builtin.  */