123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566 |
- /* Generate code from machine description to recognize rtl as insns.
- Copyright (C) 1987-2015 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, char **);
- int
- main (int argc, char **argv)
- {
- rtx desc;
- int pattern_lineno;
- int code; /* not used */
- progname = "genmddump";
- if (!init_rtx_reader_args (argc, argv))
- return (FATAL_EXIT_CODE);
- /* Read the machine description. */
- while (1)
- {
- desc = read_md_rtx (&pattern_lineno, &code);
- if (desc == NULL)
- break;
- printf (";; %s: %d\n", read_md_filename, pattern_lineno);
- print_inline_rtx (stdout, desc, 0);
- printf ("\n\n");
- }
- fflush (stdout);
- return (ferror (stdout) != 0 ? FATAL_EXIT_CODE : SUCCESS_EXIT_CODE);
- }
|