diff gcc/genmddump.c @ 111:04ced10e8804

gcc 7
author kono
date Fri, 27 Oct 2017 22:46:09 +0900
parents
children 84e7813d76e9
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/gcc/genmddump.c	Fri Oct 27 22:46:09 2017 +0900
@@ -0,0 +1,59 @@
+/* Generate code from machine description to recognize rtl as insns.
+   Copyright (C) 1987-2017 Free Software Foundation, Inc.
+
+   This file is part of GCC.
+
+   GCC is free software; you can redistribute it and/or modify it
+   under the terms of the GNU General Public License as published by
+   the Free Software Foundation; either version 3, or (at your option)
+   any later version.
+
+   GCC is distributed in the hope that it will be useful, but WITHOUT
+   ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
+   or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public
+   License for more details.
+
+   You should have received a copy of the GNU General Public License
+   along with GCC; see the file COPYING3.  If not see
+   <http://www.gnu.org/licenses/>.  */
+
+
+/* This program is used to produce tmp-mddump.md, which represents
+   md-file with expanded iterators and after define_subst transformation
+   is performed.
+
+   The only argument of the program is a source md-file (e.g.
+   config/i386/i386.md).  STDERR is used for the program output.  */
+
+#include "bconfig.h"
+#include "system.h"
+#include "coretypes.h"
+#include "tm.h"
+#include "rtl.h"
+#include "errors.h"
+#include "read-md.h"
+#include "gensupport.h"
+
+
+extern int main (int, const char **);
+
+int
+main (int argc, const char **argv)
+{
+  progname = "genmddump";
+
+  if (!init_rtx_reader_args (argc, argv))
+    return (FATAL_EXIT_CODE);
+
+  /* Read the machine description.  */
+  md_rtx_info info;
+  while (read_md_rtx (&info))
+    {
+      printf (";; %s: %d\n", info.loc.filename, info.loc.lineno);
+      print_inline_rtx (stdout, info.def, 0);
+      printf ("\n\n");
+    }
+
+  fflush (stdout);
+  return (ferror (stdout) != 0 ? FATAL_EXIT_CODE : SUCCESS_EXIT_CODE);
+}