[Bug middle-end/28690] [4.2/4.3 Regression] Performace problem with indexed load/stores on powerpc

bergner at vnet dot ibm dot com gcc-bugzilla@gcc.gnu.org
Tue Dec 5 04:42:00 GMT 2006



------- Comment #31 from bergner at vnet dot ibm dot com  2006-12-05 04:41 -------
...and here's the patch I mentioned in the previous comment:

Index: reload1.c
===================================================================
--- reload1.c   (revision 119497)
+++ reload1.c   (working copy)
@@ -2930,7 +2930,7 @@ eliminate_regs_in_insn (rtx insn, int re
   int icode = recog_memoized (insn);
   rtx old_body = PATTERN (insn);
   int insn_is_asm = asm_noperands (old_body) >= 0;
-  rtx old_set = single_set (insn);
+  rtx old_set;
   rtx new_body;
   int val = 0;
   int i;
@@ -2949,6 +2949,12 @@ eliminate_regs_in_insn (rtx insn, int re
       return 0;
     }

+  /* Guard against a PARALLEL with a REG_UNUSED note.  */
+  if (GET_CODE (PATTERN (insn)) != PARALLEL)
+    old_set = single_set (insn);
+  else
+    old_set = 0;
+
   if (old_set != 0 && REG_P (SET_DEST (old_set))
       && REGNO (SET_DEST (old_set)) < FIRST_PSEUDO_REGISTER)
     {


-- 


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



More information about the Gcc-bugs mailing list