You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>. */
+#ifndef IGEN_FILTER_H
+#define IGEN_FILTER_H
+
+#include "lf.h"
/* NB, an empty filter is NULL */
typedef struct _filter filter;
extern void dump_filter
(lf *file, const char *prefix, const filter *filt, const char *suffix);
+
+#endif /* IGEN_FILTER_H */
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>. */
-#ifndef _FILTER_HOST_H
-#define _FILTER_HOST_H
+#ifndef IGEN_FILTER_HOST_H
+#define IGEN_FILTER_HOST_H
/* Remove directory part from filename */
extern const char *filter_filename (const char *filename);
-#endif
+
+#endif /* IGEN_FILTER_HOST_H */
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>. */
+#ifndef IGEN_GEN_ENGINE_H
+#define IGEN_GEN_ENGINE_H
+
extern void gen_engine_h
(lf *file, const gen_table *gen, const insn_table *isa,
cache_entry *cache_rules);
extern void print_engine_run_function_header
(lf *file, const char *processor, function_decl_type decl_type);
+
+#endif /* IGEN_GEN_ENGINE_H */
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>. */
+#ifndef IGEN_GEN_ICACHE_H
+#define IGEN_GEN_ICACHE_H
/* Output code to manipulate the instruction cache: either create it
or reference it */
/* Output a single instructions decoder */
+
+#endif /* IGEN_GEN_ICACHE_H */
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>. */
+#ifndef IGEN_GEN_IDECODE_H
+#define IGEN_GEN_IDECODE_H
void print_idecode_issue_function_header
(lf *file,
(lf *file,
const insn_entry *instruction,
const insn_opcodes *opcode_paths);
+
+#endif /* IGEN_GEN_IDECODE_H */
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>. */
-
+#ifndef IGEN_GEN_ITABLE_H
+#define IGEN_GEN_ITABLE_H
/* Output a table of all the instructions */
extern void gen_itable_h (lf *file, const insn_table *table);
extern void gen_itable_c (lf *file, const insn_table *table);
+
+#endif /* IGEN_GEN_ITABLE_H */
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>. */
-
+#ifndef IGEN_GEN_MODEL_H
+#define IGEN_GEN_MODEL_H
extern void gen_model_h (lf *file, const insn_table *isa);
extern void gen_model_c (lf *file, const insn_table *isa);
+
+#endif /* IGEN_GEN_MODEL_H */
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>. */
+#ifndef IGEN_GEN_SEMANTICS_H
+#define IGEN_GEN_SEMANTICS_H
/* Creates the files semantics.[hc].
const insn_entry *instruction,
const opcode_bits *expanded_bits,
const insn_opcodes *opcodes);
+
+#endif /* IGEN_GEN_SEMANTICS_H */
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>. */
+#ifndef IGEN_GEN_SUPPORT_H
+#define IGEN_GEN_SUPPORT_H
extern void gen_support_h (lf *file, const insn_table *table);
extern void gen_support_c (lf *file, const insn_table *table);
+
+#endif /* IGEN_GEN_SUPPORT_H */
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>. */
+#ifndef IGEN_GEN_H
+#define IGEN_GEN_H
typedef struct _opcode_field opcode_field;
struct _opcode_field
extern void print_include (lf *file, igen_module module);
extern void print_include_inline (lf *file, igen_module module);
extern void print_includes (lf *file);
+
+#endif /* IGEN_GEN_H */
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>. */
+#ifndef IGEN_IGEN_H
+#define IGEN_IGEN_H
/* code-generation options: */
options.gen.icache_size = 1024; \
options.warning = warning; \
} while (0)
+
+#endif /* IGEN_IGEN_H */
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>. */
-
+#ifndef IGEN_LD_CACHE_H
+#define IGEN_LD_CACHE_H
/* For backward compatibility only - load a standalone cache macro table */
extern cache_entry *load_cache_table (const char *file_name);
+
+#endif /* IGEN_LD_CACHE_H */
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>. */
+#ifndef IGEN_LD_DECODE_H
+#define IGEN_LD_DECODE_H
/* Instruction decode table:
extern void dump_decode_rule
(lf *file, const char *prefix, const decode_table *rule, const char *suffix);
+
+#endif /* IGEN_LD_DECODE_H */
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>. */
-
+#ifndef IGEN_LD_INSN_H
+#define IGEN_LD_INSN_H
typedef uint64_t insn_uint;
void dump_insn_table
(lf *file, const char *prefix, const insn_table *isa, const char *suffix);
+
+#endif /* IGEN_LD_INSN_H */
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>. */
+#ifndef IGEN_LF_H
+#define IGEN_LF_H
+
#include "ansidecl.h"
+#include "misc.h"
/* LF: Line Numbered Output Stream */
(lf *file,
print_function * print_type,
const char *prefix, const char *trailing_space);
+
+#endif /* IGEN_LF_H */
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>. */
-
+#ifndef IGEN_MISC_H
+#define IGEN_MISC_H
/* Frustrating header junk */
extern int name2i (const char *name, const name_map * map);
extern const char *i2name (const int i, const name_map * map);
+
+#endif /* IGEN_MISC_H */
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>. */
+#ifndef IGEN_TABLE_H
+#define IGEN_TABLE_H
/* Read a table, line by line, from a file.
extern char *skip_to_separator (char *chp, char *separators);
extern char *back_spaces (char *start, char *chp);
+
+#endif /* IGEN_TABLE_H */