insn_latency takes a pair of rtx_insn
authorDavid Malcolm <dmalcolm@redhat.com>
Thu, 4 Sep 2014 20:56:16 +0000 (20:56 +0000)
committerDavid Malcolm <dmalcolm@gcc.gnu.org>
Thu, 4 Sep 2014 20:56:16 +0000 (20:56 +0000)
gcc/
2014-09-04  David Malcolm  <dmalcolm@redhat.com>

* genattr.c (main): Within the prototype of insn_latency written
out to insn-attr.h, strengthen both params from rtx to rtx_insn *.
* genautomata.c (output_internal_maximal_insn_latency_func):
Within the implementation of insn_latency written out to
insn-automata.c, strengthen both params from rtx to rtx_insn *,
eliminating a pair of checked casts.

From-SVN: r214921

gcc/ChangeLog
gcc/genattr.c
gcc/genautomata.c

index e65a69faa00fa008121457fc332e567646d17c94..a4d5793b6358dfd32237456a1d10af6f0de3b7b8 100644 (file)
@@ -1,3 +1,12 @@
+2014-09-04  David Malcolm  <dmalcolm@redhat.com>
+
+       * genattr.c (main): Within the prototype of insn_latency written
+       out to insn-attr.h, strengthen both params from rtx to rtx_insn *.
+       * genautomata.c (output_internal_maximal_insn_latency_func):
+       Within the implementation of insn_latency written out to
+       insn-automata.c, strengthen both params from rtx to rtx_insn *,
+       eliminating a pair of checked casts.
+
 2014-09-04  David Malcolm  <dmalcolm@redhat.com>
 
        * jump.c (eh_returnjump_p): Strengthen param "insn" from rtx to
index 5845dbb704b9b89af82dbdba0c7ddd7c0bcd4de4..b7e2a9216277b7fe0fe6c62567a4a7c839a7c041 100644 (file)
@@ -248,7 +248,7 @@ main (int argc, char **argv)
       printf ("/* Insn latency time on data consumed by the 2nd insn.\n");
       printf ("   Use the function if bypass_p returns nonzero for\n");
       printf ("   the 1st insn. */\n");
-      printf ("extern int insn_latency (rtx, rtx);\n\n");
+      printf ("extern int insn_latency (rtx_insn *, rtx_insn *);\n\n");
       printf ("/* Maximal insn latency time possible of all bypasses for this insn.\n");
       printf ("   Use the function if bypass_p returns nonzero for\n");
       printf ("   the 1st insn. */\n");
index a4501e94a66672f3e3ef8743699aebd50ed9f0c6..8cf81b054fe8fc2a6718cd57d9180f626dd05349 100644 (file)
@@ -8477,16 +8477,10 @@ output_internal_maximal_insn_latency_func (void)
 static void
 output_insn_latency_func (void)
 {
-  fprintf (output_file, "int\n%s (rtx uncast_%s, rtx uncast_%s)\n",
+  fprintf (output_file, "int\n%s (rtx_insn *%s, rtx_insn *%s)\n",
           INSN_LATENCY_FUNC_NAME, INSN_PARAMETER_NAME, INSN2_PARAMETER_NAME);
   fprintf (output_file, "{\n  int %s, %s;\n",
           INTERNAL_INSN_CODE_NAME, INTERNAL_INSN2_CODE_NAME);
-  fprintf (output_file,
-          "  rtx_insn *%s = safe_as_a <rtx_insn *> (uncast_%s);\n",
-          INSN_PARAMETER_NAME, INSN_PARAMETER_NAME);
-  fprintf (output_file,
-          "  rtx_insn *%s = safe_as_a <rtx_insn *> (uncast_%s);\n",
-          INSN2_PARAMETER_NAME, INSN2_PARAMETER_NAME);
   output_internal_insn_code_evaluation (INSN_PARAMETER_NAME,
                                        INTERNAL_INSN_CODE_NAME, 0);
   output_internal_insn_code_evaluation (INSN2_PARAMETER_NAME,