re PR target/28115 (possible bug in recog_memoized usage in rs6000.c??)
authorDavid Edelsohn <dje.gcc@gmail.com>
Sun, 29 Nov 2015 18:11:54 +0000 (18:11 +0000)
committerDavid Edelsohn <dje@gcc.gnu.org>
Sun, 29 Nov 2015 18:11:54 +0000 (13:11 -0500)
PR target/28115
* config/rs6000/rs6000.c (rs6000_adjust_cost): Correct
recog_memoized test for insn and check recog_memoized for dep_insn.

From-SVN: r231045

gcc/ChangeLog
gcc/config/rs6000/rs6000.c

index fdfda45e8757a0b4fa791f8c3e6bd29a16f23771..bcbebbc1257c1acc7683ddcebf8aaffa58b484b6 100644 (file)
@@ -1,3 +1,9 @@
+2015-11-29  David Edelsohn  <dje.gcc@gmail.com>
+
+       PR target/28115
+       * config/rs6000/rs6000.c (rs6000_adjust_cost): Correct
+       recog_memoized test for insn and check recog_memoized for dep_insn.
+
 2015-11-28  Nathan Sidwell  <nathan@acm.org>
 
        * config/nvptx/nvptx.h (FIRST_PARM_OFFSET): Add void cast.
index ba00b61377a806e5d8b22e5c9455e57a1380568a..a38e70d2c332a09f22fe1c3158e3ef37392ddceb 100644 (file)
@@ -28544,8 +28544,8 @@ rs6000_adjust_cost (rtx_insn *insn, rtx link, rtx_insn *dep_insn, int cost)
 {
   enum attr_type attr_type;
 
-  if (! recog_memoized (insn))
-    return 0;
+  if (recog_memoized (insn) < 0 || recog_memoized (dep_insn) < 0)
+    return cost;
 
   switch (REG_NOTE_KIND (link))
     {