Mercurial > hg > CbC > CbC_gcc
comparison gcc/recog.h @ 131:84e7813d76e9
gcc-8.2
author | mir3636 |
---|---|
date | Thu, 25 Oct 2018 07:37:49 +0900 |
parents | 04ced10e8804 |
children | 1830386684a0 |
comparison
equal
deleted
inserted
replaced
111:04ced10e8804 | 131:84e7813d76e9 |
---|---|
1 /* Declarations for interface to insn recognizer and insn-output.c. | 1 /* Declarations for interface to insn recognizer and insn-output.c. |
2 Copyright (C) 1987-2017 Free Software Foundation, Inc. | 2 Copyright (C) 1987-2018 Free Software Foundation, Inc. |
3 | 3 |
4 This file is part of GCC. | 4 This file is part of GCC. |
5 | 5 |
6 GCC is free software; you can redistribute it and/or modify it under | 6 GCC is free software; you can redistribute it and/or modify it under |
7 the terms of the GNU General Public License as published by the Free | 7 the terms of the GNU General Public License as published by the Free |
22 | 22 |
23 /* Random number that should be large enough for all purposes. Also define | 23 /* Random number that should be large enough for all purposes. Also define |
24 a type that has at least MAX_RECOG_ALTERNATIVES + 1 bits, with the extra | 24 a type that has at least MAX_RECOG_ALTERNATIVES + 1 bits, with the extra |
25 bit giving an invalid value that can be used to mean "uninitialized". */ | 25 bit giving an invalid value that can be used to mean "uninitialized". */ |
26 #define MAX_RECOG_ALTERNATIVES 35 | 26 #define MAX_RECOG_ALTERNATIVES 35 |
27 typedef uint64_t alternative_mask; | 27 typedef uint64_t alternative_mask; /* Keep in sync with genattrtab.c. */ |
28 | 28 |
29 /* A mask of all alternatives. */ | 29 /* A mask of all alternatives. */ |
30 #define ALL_ALTERNATIVES ((alternative_mask) -1) | 30 #define ALL_ALTERNATIVES ((alternative_mask) -1) |
31 | 31 |
32 /* A mask containing just alternative X. */ | 32 /* A mask containing just alternative X. */ |
134 extern void extract_insn (rtx_insn *); | 134 extern void extract_insn (rtx_insn *); |
135 extern void extract_constrain_insn (rtx_insn *insn); | 135 extern void extract_constrain_insn (rtx_insn *insn); |
136 extern void extract_constrain_insn_cached (rtx_insn *); | 136 extern void extract_constrain_insn_cached (rtx_insn *); |
137 extern void extract_insn_cached (rtx_insn *); | 137 extern void extract_insn_cached (rtx_insn *); |
138 extern void preprocess_constraints (int, int, const char **, | 138 extern void preprocess_constraints (int, int, const char **, |
139 operand_alternative *); | 139 operand_alternative *, rtx **); |
140 extern const operand_alternative *preprocess_insn_constraints (unsigned int); | 140 extern const operand_alternative *preprocess_insn_constraints (unsigned int); |
141 extern void preprocess_constraints (rtx_insn *); | 141 extern void preprocess_constraints (rtx_insn *); |
142 extern rtx_insn *peep2_next_insn (int); | 142 extern rtx_insn *peep2_next_insn (int); |
143 extern int peep2_regno_dead_p (int, int); | 143 extern int peep2_regno_dead_p (int, int); |
144 extern int peep2_reg_dead_p (int, rtx); | 144 extern int peep2_reg_dead_p (int, rtx); |
292 typedef rtx_insn * (*f13) (rtx, rtx, rtx, rtx, rtx, rtx, rtx, rtx, rtx, rtx, rtx, rtx, rtx); | 292 typedef rtx_insn * (*f13) (rtx, rtx, rtx, rtx, rtx, rtx, rtx, rtx, rtx, rtx, rtx, rtx, rtx); |
293 typedef rtx_insn * (*f14) (rtx, rtx, rtx, rtx, rtx, rtx, rtx, rtx, rtx, rtx, rtx, rtx, rtx, rtx); | 293 typedef rtx_insn * (*f14) (rtx, rtx, rtx, rtx, rtx, rtx, rtx, rtx, rtx, rtx, rtx, rtx, rtx, rtx); |
294 typedef rtx_insn * (*f15) (rtx, rtx, rtx, rtx, rtx, rtx, rtx, rtx, rtx, rtx, rtx, rtx, rtx, rtx, rtx); | 294 typedef rtx_insn * (*f15) (rtx, rtx, rtx, rtx, rtx, rtx, rtx, rtx, rtx, rtx, rtx, rtx, rtx, rtx, rtx); |
295 typedef rtx_insn * (*f16) (rtx, rtx, rtx, rtx, rtx, rtx, rtx, rtx, rtx, rtx, rtx, rtx, rtx, rtx, rtx, rtx); | 295 typedef rtx_insn * (*f16) (rtx, rtx, rtx, rtx, rtx, rtx, rtx, rtx, rtx, rtx, rtx, rtx, rtx, rtx, rtx, rtx); |
296 | 296 |
297 typedef f0 stored_funcptr; | 297 typedef void (*stored_funcptr) (void); |
298 | 298 |
299 rtx_insn * operator () (void) const { return ((f0)func) (); } | 299 rtx_insn * operator () (void) const { return ((f0)func) (); } |
300 rtx_insn * operator () (rtx a0) const { return ((f1)func) (a0); } | 300 rtx_insn * operator () (rtx a0) const { return ((f1)func) (a0); } |
301 rtx_insn * operator () (rtx a0, rtx a1) const { return ((f2)func) (a0, a1); } | 301 rtx_insn * operator () (rtx a0, rtx a1) const { return ((f2)func) (a0, a1); } |
302 rtx_insn * operator () (rtx a0, rtx a1, rtx a2) const { return ((f3)func) (a0, a1, a2); } | 302 rtx_insn * operator () (rtx a0, rtx a1, rtx a2) const { return ((f3)func) (a0, a1, a2); } |