+
+ * Makefile.in (SIM_WARNINGS): Replace this with.
+ (IGEN_WERROR_CFLAGS, IGEN_WARN_CFLAGS, WERROR_CFLAGS,
+ WARN_CFLAGS): With these.
+ (BUILD_CFLAGS): Update.
+
+ * configure: Regenerated to track ../common/aclocal.m4 changes.
+
+
+ * configure: Regenerated to track ../common/aclocal.m4 changes.
+
+
+ * igen.c (main): Fix -Pitable=.
+
+ * gen-engine.c (print_run_body): Prefix instruction_address.
+
+
+ * Makefile.in (SIM_WARNINGS): Update to match ../common/aclocal.m4
+ changes.
+
+
+ * gen-icache.c (print_icache_extraction): #undef a generated
+ symbol before #define'ing it, to remove conflict with system
+ macros.
+
+
+ * gen.c (gen_entry_expand_opcode): For conditional, fields. Fix
+ the extraction of the value from its source - both table and bit
+ cases were wrong.
+
+
+ * ld-insn.c (parse_insn_word): For constant conditional strings,
+ encode their bit value.
+
+ * ld-insn.c (parse_insn_word, parse_insn_words): Allow conditional
+ operands to refer to fields in earlier instruction words.
+
+ * gen.c (sub_val): Replace field argument with val_last_pos.
+ (gen_entry_expand_opcode): Look in previous tables for a value for
+ a conditional field as well as the bits from the current table.
+ (insn_list_insert): Add sort key of instructions where
+ their operand fields have different conditionals.
+ (insn_field_cmp): New function.
+
+Sun Apr 26 15:31:55 1998 Tom Tromey <tromey@creche>
+
+ * configure: Regenerated to track ../common/aclocal.m4 changes.
+ * config.in: Ditto.
+
+
+ * acconfig.h: New file.
+ * configure.in: Reverted change of Apr 24; use sinclude again.
+
+Fri Apr 24 14:16:40 1998 Tom Tromey <tromey@creche>
+
+ * configure: Regenerated to track ../common/aclocal.m4 changes.
+ * config.in: Ditto.
+
+
+ * configure.in: Don't call sinclude.
+
+
+ * gen-icache.c (print_icache_extraction): Do not type cast
+ pointers.
+
+ * ld-insn.c (load_insn_table): Terminate error with NL.
+
+ * gen.c (insns_bit_useless): Perform unsigned bit comparisons.
+
+ * filter.c (is_filtered_out, filter_parse): Pacify GCC, len is
+ unsigned.
+
+
+ * configure: Reconfigure to pick up ../common/aclocal.m4 changes
+ to suppress inlining by default.
+
+
+ * gen-icache.c (print_icache_extraction): When generating #define
+ force the expression to the correct type.
+
+
+ * misc.c (name2i): strlen returns an unsigned.
+
+
+ * igen.h (struct igen_warn_options): Add unimplemented option.
+ * igen.c (main): Update
+
+ * ld-insn.c (load_insn_table): Report unimplemented functions.
+
+
+ * ld-insn.c (parse_insn_word): Treat `!' and `=' as valid
+ separator tokens when parsing a conditional.
+
+ * igen.h (main): Add option -S so that suffix can be specified.
+
+
+ * igen.h (struct igen_trace_options): Add members insn_expansion
+ and insn_insertion.
+
+ * igen.c (main): Add options -Gtrace-insn-expansion,
+ -Gtrace-insn-insertion and -Gtrace-all.
+
+ * gen.c (gen_entry_expand_insns): Trace each instruction as it is
+ selected for expansion.
+ (gen_entry_expand_opcode): Trace each expanded instruction as it
+ is inserted into the table.
+
+
+ * ld-insn.c (parse_insn_word): Parse conditional operators.
+ (parse_insn_word): Verify field conditionals.
+
+ * ld-insn.h: Extend syntax to allow macros and field equality.
+ (struct insn_field_cond): Rename insn_field_exclusion, add type.
+
+ * gen.c (gen_entry_expand_opcode): Check type of conditional.
+ (insns_bit_useless): Ditto.
+
+ * ld-insn.c (parse_macro_record): New function.
+
+
+ * ld-insn.h (enum insn_field_type): Add insn_field_invalid.
+
+ * ld-insn.c (parse_insn_word): Check instruction field type
+ correctly initialized.
+ (print_insn_words): Ditto.
+ (insn_field_type_to_str): Ditto.
+ (dump_insn_field): Ditto.
+
+ * gen.c (insns_bit_useless): Ditto.
+
+
+ * gen.h, igen.c (print_include_inline, print_includes,
+ print_includes): New functions. Generate include list. For for
+ semantics et.al. generate CPP code to inline when
+ C_REVEALS_MODULE_P.
+
+ * igen.c (gen_semantics_c): Call print_includes.
+ * gen-engine.c (gen_engine_c): Ditto.
+
+
+ * igen.h: (struct _igen_name_option): Replace with struct
+ igen_module_option. Contains both module prefix and suffix.
+ (INIT_OPTIONS): Initialize.
+
+ * igen.c (main): Update -P option to fill in full module info.
+ (gen-engine.c, gen-icache.c, gen-itable.c, gen-semantics.c,
+ gen-support.c): Update.
+
+
+ * igen.c (print_itrace): Use TRACE_ANY_P macro to determine if any
+ tracing is needed.
+
+
+ * table.c (table_push): Redo, using stdio. Fixes NT native
+ problem with <CRLF>=><LF> translation...
+
+
+ * gen-engine.c (print_run_body): Re-extract the CIA after
+ processing any events.
+
+
+ * Makefile.in: Get SHELL from configure.
+ * configure: Regenerate with autoconf 2.12.1 to fix shell issues for
+ NT native builds.
+
+
+ * igen.c: Pass sim_cia to trace_prefix.
+
+
+ * ld-insn.c (parse_function_record): Check models are valid.
+ (parse_function_record): Only discard function when no model is
+ common.
+
+
+ * gen-engine.c (print_run_body): Always wrap generated idecode
+ body in ENGINE_ISSUE_PREFIX_HOOK / ENGINE_ISSUE_POSTFIX_HOOK.
+
+
+ * ld-insn.c (parse_function_record): When -Wnodiscard, suppress
+ discarded function warning.
+
+ * igen.c (main): Clarify -Wnodiscard.
+
+ * ld-insn.c (parse_function_record): For functions, allow use of
+ instruction style function model records
+
+ * ld-insn.h (nr_function_model_fields): Define.
+
+
+ * igen.c (print_itrace_prefix): Generate call to trace_prefix
+ instead of trace_one_insn.
+ (print_itrace): Generate trace_prefix call if any tracing enabled,
+ (print_itrace): Nest generated call to trace_generic inside
+ conditional for any tracing enabled.
+ (print_itrace_prefix): Do not pass PHASE to trace_prefix.
+
+
+ * gen-engine.c (print_run_body): Add bitsize suffix to IMEM macro.
+ * gen-icache.c (print_icache_body): Ditto.
+ * gen-idecode.c (print_idecode_ifetch): Ditto.
+
+ * gen-icache.c (print_icache_body): Mark successive instruction
+ words as unused.
+
+ * ld-insn.c (parse_insn_word): Only report insn-width problems
+ when warning enabled.
+
+ * igen.h: Add flag for warning about invalid instruction widths.
+ * igen.c: Parse -Wwidth option.
+
+ * gen-support.c (gen_support_h): Map instruction_word onto
+ <PREFIX>_instruction_word when needed.
+ (print_support_function_name): Use support prefix.
+ (gen_support_h): Ditto for <PREFIX>_idecode_issue.
+
+
+ * gen-support.c (gen_support_h): Generate new macro CPU_.
+
+
+ * gen-engine.c (gen_engine_h): Don't assume a model is present.
+ (gen_engine_c): Ditto.
+
+ * igen.c (gen_run_c): Ditto.
+
+ * gen-engine.c (print_run_body): Use CIA_GET & CIA_SET instead of
+ CPU_CIA. Parameterize with CPU argument.
+
+
+ * gen.h (struct _gen_list): Replace processor with model.
+
+ * igen.c (gen_idecode_h): Update.
+ (gen_run_c): For generated switch, use model->full_name.
+
+ * gen.c (print_gen_entry_path): Ditto.
+ (make_table): Ditto.
+ (gen_entry_expand_insns): Ditto.
+ (make_gen_tables): Ditto.
+
+ * igen.c (gen_run_c): Add extra argument `nr_cpus' to generated
+ function sim_engine_run. Pass argument on to engine_run.
+
+ * gen-engine.c (print_engine_run_function_header): Add extra
+ argument `nr_cpus' to generated function engine_run.
+ (print_run_body): Fix SMP case.
+
+ * gen-support.c (support_c_function): Call sim_engine_abort when
+ internal function fails to long jump.
+
+
+ * gen-semantics.c (print_semantic_body): Use GPR_SET to zero
+ hardwired register.
+
+
+ * gen-semantics.c (print_semantic_body): Fix handling of
+ hardwired zero register.
+
+
+ * igen.h (struct _igen_gen_options): Add member default_model.
+
+ * igen.c (gen_run_c): Default to the first machine in the
+ multi-sim list.
+ (main): Add MODEL parameter to gen-multi-sim option.
+
+ * gen.h (function_decl_type): Declare enum.
+
+ * gen-engine.c (print_engine_run_function_header), gen-engine.h:
+ Make global, pass function_decl_type as argument.
+ (gen_engine_h, gen_engine_c): Update call.
+
+ * gen-idecode.c (print_idecode_issue_function_header),
+ gen-idecode.h: Pass function_decl_type as argument.
+
+ * igen.c (gen_idecode_h): For multi-sim, delcare global variable
+ idecode_issue.
+
+ * igen.c (gen_run_c): For multi-sim, initialize globals
+ idecode_issue and engine_run.
+
+
+ * ld-insn.c (parse_insn_model_record): Allow multiple model names
+ to be specified in a single instruction model record.
+ (dump_insn_model_entry): Update.
+
+ * ld-insn.h (struct _insn_model_entry): Replace member name with
+ the filter names. Document syntax change.
+
+
+ * gen-engine.c (print_run_body): Add hooks for adding code before
+ and after an instruction has been issued.
+
+
+ * gen-idecode.c (print_jump_until_stop_body): Use `#if 0' instead of
+ `#ifdef 0' around this.
+
+
+ * ld-decode.c (load_decode_table): Don't assume NULL is an integer
+ constant.
+
+
+ * ld-insn.h: Document mnemonic string format.
+
+
+ * gen-icache.c (print_icache_extraction): Force result of atol to
+ unsigned.
+
+ * ld-insn.c (parse_function_record): Separate handling of old and
+ ney fynction records.
+ (load_insn_table): For %s record, hack function name & type after
+ it has been parsed.
+
+ * filter.h (filter_is_subset): Reverse argument names, wrong
+ order.
+
+ * ld-insn.c (load_insn_table): Move include code to.
+ (parse_include_record): New function. Check for filtering of
+ include statement by both flags and models.
+ (load_insn_table): Check for model filtering of cache and model
+ records.
+ (parse_model_data_record): Check for model & flag filtering of
+ model data records.
+ (parse_function_record): Check for model & flag filtering of
+ function records.
+
+ * ld-insn.h: Define record_filter_models_field. Add filter-models
+ field to all but instruction records.
+ (struct _function_entry, struct _cache_entry): Add models field.
+ (nr_function_fields): Make parm field mandatory.
+
+
+ * igen.c (main): Change -I option to -I<directory>. Add optional
+ size to -Ggen-icache option. Add -Gno-... support.
+
+ * igen.h (struct _igen_options): Add include field.
+
+ * ld-insn.c (enum insn_record_type, insn_type_map): Add
+ include_record.
+ (load_insn_table): Call table_push when include record.
+
+ * table.c (struct _open table, struct table): Make table object an
+ indirect ptr to the current table file.
+ (current_line, new_table_entry, next_line): Make file arg type
+ open_table.
+ (table_open): Use table_push.
+ (table_read): Point variable file at current table, at eof, pop
+ last open table.
+
+ * table.h, table.c (table_push): New function.
+
+
+ * gen-semantics.c (print_semantic_body): Use CIA not
+ cia.ip. Escape newlines at end of generated call to
+ sim_engine_abort.
+
+
+ * igen.c (print_itrace): Output line-ref to igen source file when
+ generating trace statements.
+ (print_itrace_prefix, print_itrace_format): Escape newline at end
+ of each line of generated call to trace function.
+
+
+ * gen-support.c (gen_support_h): Generate #define NIA. Definition
+ dependant on gen-delayed-branch mode.
+
+ * ld-insn.c (parse_insn_mnemonic_record): Check for opening and
+ closing double quote in mnemonic field.
+ (parse_option_record): Add gen-delayed-branch option.
+
+
+ * gen.c (insn_list_insert): Missing \n in warning.
+
+ * ld-insn.c (load_insn_table): Only notify of discarded
+ instrctions when warn.discard enabled.
+
+ * igen.h: Add option.warn.discard, default enabled.
+
+ * igen.c (main): Add -Wnodiscard option.
+
+ * ld-insn.c (record_type): For old record type, check the number
+ of fields is correct.
+ (load_insn_table): Allow insn assembler and insn model records to
+ appear in any order.
+ (parse_insn_model_record): Rename from parse_insn_model_records.
+ Parse only one record.
+ (parse_insn_mnemonic_record): Rename from
+ parse_insn_mnemonic_records. Parse only one record.
+
+
+ * gen-itable.c (gen_itable_h): [nr_itable_* + 1] to avoid
+ illegal zero-sized array.
+ (itable_print_set): likewise, avoid empty initializers.
+
+
+ * configure.in: i386-windows is a cross, so don't expect
+ libiberty to be there.
+ * configure: updated.
+
+
+ * igen.c (print_function_name): Put the format name after the
+ function / instruction name, not before.
+ (print_itrace): Better format trace code.
+
+
+ * gen.c (insns_bit_useless): Don't treat string fields restricted
+ to a range of values as useless.
+
+
+ * igen.c (gen_run_c): Handle non-multi-sim case.
+
+ * gen-support.c (gen_support_h): Define SD_ - to replace _SD.
+ Define CIA from cia.
+
* gen-semantics.c (print_semantic_body): Trace the instruction