This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
[PATCH] S/390: set alias set of va_arg mem access
- From: Andreas Krebbel <krebbel1 at de dot ibm dot com>
- To: gcc-patches at gcc dot gnu dot org
- Date: Fri, 17 Dec 2004 13:57:39 +0100
- Subject: [PATCH] S/390: set alias set of va_arg mem access
- Organization: IBM Deutschland Entwicklung GmbH
Hi,
in the S/390 back end we missed to set the alias set of va_arg memory
accesses. Hence va_arg instructions could be scheduled before the
instructions in the function prologue which store the parameters to the stack.
Bootstrapped without regressions on s390 and s390x.
OK?
Bye,
-Andreas-
2004-12-17 Andreas Krebbel <krebbel1@de.ibm.com>
* config/s390/s390.c (s390_gimplify_va_arg): Set alias set to
s390_sr_alias_set.
Index: gcc/config/s390/s390.c
===================================================================
RCS file: /cvs/gcc/gcc/gcc/config/s390/s390.c,v
retrieving revision 1.209
diff -p -c -r1.209 s390.c
*** gcc/config/s390/s390.c 16 Dec 2004 12:31:32 -0000 1.209
--- gcc/config/s390/s390.c 17 Dec 2004 12:44:20 -0000
*************** s390_gimplify_va_arg (tree valist, tree
*** 7816,7821 ****
--- 7816,7822 ----
lab_false = create_artificial_label ();
lab_over = create_artificial_label ();
addr = create_tmp_var (ptr_type_node, "addr");
+ DECL_POINTER_ALIAS_SET (addr) = s390_sr_alias_set;
t = fold_convert (TREE_TYPE (reg), size_int (max_reg));
t = build2 (GT_EXPR, boolean_type_node, reg, t);