[9/9] Tweak interface to ira-build.c:ior_hard_reg_conflicts
diff mbox series

Message ID mptr24p78zy.fsf@arm.com
State New
Headers show
Series
  • Make HARD_REG_SETs easier to use
Related show

Commit Message

Richard Sandiford Sept. 9, 2019, 4:02 p.m. UTC
This patch makes ior_hard_reg_conflicts take a const_hard_reg_set
rather than a pointer, so that it can be passed a temporary object
in later patches.


2019-09-09  Richard Sandiford  <richard.sandiford@arm.com>

gcc/
	* ira-int.h (ior_hard_reg_conflicts): Take a const_hard_reg_set
	instead of a HARD_REG_SET *.
	* ira-build.c (ior_hard_reg_conflicts): Likewise.
	(ira_build): Update call accordingly.
	* ira-emit.c (add_range_and_copies_from_move_list): Likewise.

Comments

Jeff Law Sept. 9, 2019, 5:42 p.m. UTC | #1
On 9/9/19 10:02 AM, Richard Sandiford wrote:
> This patch makes ior_hard_reg_conflicts take a const_hard_reg_set
> rather than a pointer, so that it can be passed a temporary object
> in later patches.
> 
> 
> 2019-09-09  Richard Sandiford  <richard.sandiford@arm.com>
> 
> gcc/
> 	* ira-int.h (ior_hard_reg_conflicts): Take a const_hard_reg_set
> 	instead of a HARD_REG_SET *.
> 	* ira-build.c (ior_hard_reg_conflicts): Likewise.
> 	(ira_build): Update call accordingly.
> 	* ira-emit.c (add_range_and_copies_from_move_list): Likewise.
OK
jeff

Patch
diff mbox series

Index: gcc/ira-int.h
===================================================================
--- gcc/ira-int.h	2019-09-09 17:02:41.677375853 +0100
+++ gcc/ira-int.h	2019-09-09 17:02:41.669375909 +0100
@@ -998,7 +998,7 @@  extern void ira_set_allocno_class (ira_a
 extern bool ira_conflict_vector_profitable_p (ira_object_t, int);
 extern void ira_allocate_conflict_vec (ira_object_t, int);
 extern void ira_allocate_object_conflicts (ira_object_t, int);
-extern void ior_hard_reg_conflicts (ira_allocno_t, HARD_REG_SET *);
+extern void ior_hard_reg_conflicts (ira_allocno_t, const_hard_reg_set);
 extern void ira_print_expanded_allocno (ira_allocno_t);
 extern void ira_add_live_range_to_object (ira_object_t, int, int);
 extern live_range_t ira_create_live_range (ira_object_t, int, int,
Index: gcc/ira-build.c
===================================================================
--- gcc/ira-build.c	2019-09-09 17:02:41.677375853 +0100
+++ gcc/ira-build.c	2019-09-09 17:02:41.669375909 +0100
@@ -614,15 +614,15 @@  merge_hard_reg_conflicts (ira_allocno_t
 /* Update hard register conflict information for all objects associated with
    A to include the regs in SET.  */
 void
-ior_hard_reg_conflicts (ira_allocno_t a, HARD_REG_SET *set)
+ior_hard_reg_conflicts (ira_allocno_t a, const_hard_reg_set set)
 {
   ira_allocno_object_iterator i;
   ira_object_t obj;
 
   FOR_EACH_ALLOCNO_OBJECT (a, obj, i)
     {
-      OBJECT_CONFLICT_HARD_REGS (obj) |= *set;
-      OBJECT_TOTAL_CONFLICT_HARD_REGS (obj) |= *set;
+      OBJECT_CONFLICT_HARD_REGS (obj) |= set;
+      OBJECT_TOTAL_CONFLICT_HARD_REGS (obj) |= set;
     }
 }
 
@@ -3462,7 +3462,7 @@  ira_build (void)
 	 allocno crossing calls.  */
       FOR_EACH_ALLOCNO (a, ai)
 	if (ALLOCNO_CALLS_CROSSED_NUM (a) != 0)
-	  ior_hard_reg_conflicts (a, &call_used_reg_set);
+	  ior_hard_reg_conflicts (a, call_used_reg_set);
     }
   if (internal_flag_ira_verbose > 2 && ira_dump_file != NULL)
     print_copies (ira_dump_file);
Index: gcc/ira-emit.c
===================================================================
--- gcc/ira-emit.c	2019-09-09 17:02:41.677375853 +0100
+++ gcc/ira-emit.c	2019-09-09 17:02:41.669375909 +0100
@@ -1122,8 +1122,8 @@  add_range_and_copies_from_move_list (mov
 	      ira_allocate_object_conflicts (to_obj, n);
 	    }
 	}
-      ior_hard_reg_conflicts (from, &hard_regs_live);
-      ior_hard_reg_conflicts (to, &hard_regs_live);
+      ior_hard_reg_conflicts (from, hard_regs_live);
+      ior_hard_reg_conflicts (to, hard_regs_live);
 
       update_costs (from, true, freq);
       update_costs (to, false, freq);