[PATCH 3/8] Fix usage of hard_regno_nregs before reload

Alexander Monakov amonakov@ispras.ru
Wed Aug 3 15:31:00 GMT 2011


From: Sergey Grechanik <mouseentity@gmail.com>

This fixes one place where hard_regno_nregs is incorrectly guarded by
reload_completed (as if before reload all regs are pseudos).

2011-08-04  Sergey Grechanik  <mouseentity@ispras.ru>

	* sel-sched.c (verify_target_availability): Fix usage of
	hard_regno_nregs.

diff --git a/gcc/sel-sched.c b/gcc/sel-sched.c
index 92ba222..e791e4c 100644
--- a/gcc/sel-sched.c
+++ b/gcc/sel-sched.c
@@ -1581,7 +1581,7 @@ verify_target_availability (expr_t expr, regset used_regs,
   regno = expr_dest_regno (expr);
   mode = GET_MODE (EXPR_LHS (expr));
   target_available = EXPR_TARGET_AVAILABLE (expr) == 1;
-  n = reload_completed ? hard_regno_nregs[regno][mode] : 1;
+  n = HARD_REGISTER_NUM_P (regno) ? hard_regno_nregs[regno][mode] : 1;
 
   live_available = hard_available = true;
   for (i = 0; i < n; i++)



More information about the Gcc-patches mailing list