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]

[tree-ssa] More IA64 fixes


This is the tree combination fix I was referring to in my previous patch
from today.  Thanks Andrew.


Diego.


	* tree-ssa.c (check_replaceable): Return false if the LHS is a
	DECL_HARD_REGISTER.

Index: tree-ssa.c
===================================================================
RCS file: /cvs/gcc/gcc/gcc/Attic/tree-ssa.c,v
retrieving revision 1.1.4.155
diff -d -c -p -r1.1.4.155 tree-ssa.c
*** tree-ssa.c	19 Nov 2003 20:10:02 -0000	1.1.4.155
--- tree-ssa.c	20 Nov 2003 20:25:17 -0000
*************** add_dependance (temp_expr_table_p tab, i
*** 2040,2045 ****
--- 2040,2046 ----
  
  /* Check if an expression is suitable for replacement.  If so, create an 
     expression entry.  Return true if this stmt is replaceable.  */
+ 
  static bool
  check_replaceable (temp_expr_table_p tab, tree stmt)
  {
*************** check_replaceable (temp_expr_table_p tab
*** 2060,2065 ****
--- 2061,2071 ----
      return false;
    def = *VARRAY_TREE_PTR (ops, 0);
    if (version_ref_count (map, def) != 1)
+     return false;
+ 
+   /* Assignments to variables assigned to hard registers are not
+      replaceable.  */
+   if (DECL_HARD_REGISTER (SSA_NAME_VAR (def)))
      return false;
  
    /* There must be no VDEFS.  */


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