This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[PATCH] S/390: set alias set of va_arg mem access


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);


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]