re PR target/46234 (ICE in expand_expr_real_2 for va-arg-XXX tescases)
authorJakub Jelinek <jakub@gcc.gnu.org>
Thu, 4 Nov 2010 18:43:00 +0000 (19:43 +0100)
committerJakub Jelinek <jakub@gcc.gnu.org>
Thu, 4 Nov 2010 18:43:00 +0000 (19:43 +0100)
PR target/46234
* config/rs6000/rs6000.c (rs6000_va_start): Use build_simple_mem_ref
instead of build_va_arg_indirect_ref.
* config/spu/spu.c (spu_va_start): Likewise.
* config/s390/s390.c (s390_va_start): Likewise.

From-SVN: r166323

gcc/ChangeLog
gcc/config/rs6000/rs6000.c
gcc/config/s390/s390.c
gcc/config/spu/spu.c

index eea7ecea57c9209e78b847d3aa425f8e9b16651f..7351294329bb4752cd2dd5605a48e6ce8a83e7aa 100644 (file)
@@ -1,7 +1,15 @@
+2010-11-04  Jakub Jelinek  <jakub@redhat.com>
+
+       PR target/46234
+       * config/rs6000/rs6000.c (rs6000_va_start): Use build_simple_mem_ref
+       instead of build_va_arg_indirect_ref.
+       * config/spu/spu.c (spu_va_start): Likewise.
+       * config/s390/s390.c (s390_va_start): Likewise.
+
 2010-11-03  Uros Bizjak  <ubizjak@gmail.com>
 
        PR middle-end/46292
-       * lower-suberg.c (simplify_subreg_concatn): For VOIDmode elements,
+       * lower-subreg.c (simplify_subreg_concatn): For VOIDmode elements,
        if the innermode is not vector mode, determine the mode of a subreg
        by using mode_for_size of inner_size.
 
index 7ec66999073d93d0b6307d23db3757700b56de6e..30146645973b8b9026cc6c1d75b4a99486ba5f52 100644 (file)
@@ -9252,7 +9252,7 @@ rs6000_va_start (tree valist, rtx nextarg)
   f_ovf = DECL_CHAIN (f_res);
   f_sav = DECL_CHAIN (f_ovf);
 
-  valist = build_va_arg_indirect_ref (valist);
+  valist = build_simple_mem_ref (valist);
   gpr = build3 (COMPONENT_REF, TREE_TYPE (f_gpr), valist, f_gpr, NULL_TREE);
   fpr = build3 (COMPONENT_REF, TREE_TYPE (f_fpr), unshare_expr (valist),
                f_fpr, NULL_TREE);
index 290ae69376381928580736f5cc0282fd415bca27..105cf6de618b19fc19136eb106ced964cd05bd0d 100644 (file)
@@ -8719,7 +8719,7 @@ s390_va_start (tree valist, rtx nextarg ATTRIBUTE_UNUSED)
   f_ovf = DECL_CHAIN (f_fpr);
   f_sav = DECL_CHAIN (f_ovf);
 
-  valist = build_va_arg_indirect_ref (valist);
+  valist = build_simple_mem_ref (valist);
   gpr = build3 (COMPONENT_REF, TREE_TYPE (f_gpr), valist, f_gpr, NULL_TREE);
   fpr = build3 (COMPONENT_REF, TREE_TYPE (f_fpr), valist, f_fpr, NULL_TREE);
   ovf = build3 (COMPONENT_REF, TREE_TYPE (f_ovf), valist, f_ovf, NULL_TREE);
index 8a41fd887059713459f1a788506a942a6a3915cd..a9a5d40f26b0710c7e2df3324b0cd1ece029916e 100644 (file)
@@ -4154,7 +4154,7 @@ spu_va_start (tree valist, rtx nextarg)
   f_args = TYPE_FIELDS (TREE_TYPE (va_list_type_node));
   f_skip = DECL_CHAIN (f_args);
 
-  valist = build_va_arg_indirect_ref (valist);
+  valist = build_simple_mem_ref (valist);
   args =
     build3 (COMPONENT_REF, TREE_TYPE (f_args), valist, f_args, NULL_TREE);
   skip =