------- Comment #21 from vmakarov at redhat dot com  2010-01-29 21:54 -------
Thanks everyone who works on the bug.

  I am sorry that the bug was really introduced by my patch more accurately by
the part which should fix reload crashes when the 1st scheduling works for some
targets.  The patch creates huge number dependencies on stack register (r13)
which could be used for reloads according to *arm_movsi_insn.  But pseudos can
not be assigned the stack register because the register is fixed and we have
not to add dependencies for the pseudo to fix the reload craches.

The following small fix will solve the PR.

Index: ../../gcc/gcc/sched-deps.c
===================================================================
--- ../../gcc/gcc/sched-deps.c  (revision 155624)
+++ ../../gcc/gcc/sched-deps.c  (working copy)
@@ -2623,6 +2623,7 @@ sched_analyze_insn (struct deps *deps, r
       extract_insn (insn);
       preprocess_constraints ();
       ira_implicitly_set_insn_hard_regs (&temp);
+      AND_COMPL_HARD_REG_SET (temp, ira_no_alloc_regs);
       IOR_HARD_REG_SET (implicit_reg_pending_clobbers, temp);
     }

I'll submit the patch on Monday after some testing.


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=41399

Reply via email to