This is the mail archive of the gdb-patches@sourceware.org mailing list for the GDB project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Committed: removing all #if 0'd code in sim/igen.


I choose to be a bit verbose in the ChangeLog, to appease
whoever might think that keeping #if 0'd code around is a great
idea for stashing work-in-progress.  It is not.  The real issue
is that I have (WIP for a) fix for a bug that would otherwise
further the decay of the #if 0'd code.  A less rightful thing to
do, would be to add abort calls at the top of the affected #if
0'd functions with sufficient commentary explaining that they
aren't updated to handle whatever changed, as without calling
code there's no way to test any updates.  But better to just
remove it all.  Whoever (theoretically) has affected work needs
to branch off trunk before this change.  Built all
igen-generated sims I could find; targets being mips-elf
mn10300-elf v850-elf powerpc-eabisim mips64vrel-elf
mipsisa32r2-elf; no change in generated code.  (What, why
testing?  Well, besides just being due process, theoretically
there could have been machinery copying the files to the build
directory and removing the #if 0's. :)

sim/igen:
	Remove all #if 0'd code.
	* filter.c: Remove #if 0'd function it_is.
	(main): Remove #if 0'd code.
	* gen-engine.c: Remove #if 0'd functions print_jump,
	print_jump_insn, print_jump_definition,
	print_jump_internal_function, print_jump_body.
	(gen_engine_c): Remove #if 0'd code.
	* gen-idecode.c: Remove #if 0'd functions print_jump print_jump,
	print_jump_insn, print_jump_definition,
	print_jump_internal_function, print_jump_until_stop_body.
	* gen-model.c: Remove #if 0'd functions model_c_or_h_data,
	model_c_or_h_function, gen_model_h, model_c_insn,
	model_c_function, gen_model_c and types model_c_passed_data
	and struct _model_c_passed_data.
	* gen.c: Remove #if 0'd type constant_field_types and function
	insn_field_is_constant.
	(gen_entry_find_opcode_field): Remove #if 0'd code.
	* ld-insn.c (parse_insn_model_record): Remove #if 0'd code.
	* misc.h (STRDUP, STRNDUP): Remove #if 0'd macros.

Index: filter.c
===================================================================
RCS file: /cvs/src/src/sim/igen/filter.c,v
retrieving revision 1.9
diff -p -u -r1.9 filter.c
--- filter.c	1 Jan 2011 15:34:00 -0000	1.9
+++ filter.c	7 Jul 2011 23:55:58 -0000
@@ -216,29 +216,6 @@ is_filtered_out (filter *filters, const 
 }
 
 
-#if 0
-int
-it_is (const char *flag, const char *flags)
-{
-  int flag_len = strlen (flag);
-  while (*flags != '\0')
-    {
-      if (!strncmp (flags, flag, flag_len)
-	  && (flags[flag_len] == ',' || flags[flag_len] == '\0'))
-	return 1;
-      while (*flags != ',')
-	{
-	  if (*flags == '\0')
-	    return 0;
-	  flags++;
-	}
-      flags++;
-    }
-  return 0;
-}
-#endif
-
-
 char *
 filter_next (filter *set, char *member)
 {
@@ -294,12 +271,7 @@ main (int argc, char **argv)
 
   /* dump various info */
   l = lf_open ("-", "stdout", lf_omit_references, lf_is_text, "tmp-filter");
-#if 0
-  if (is_filtered_out (argv[1], superset))
-    lf_printf (l, "excluded\n");
-  else
-    lf_printf (l, "included\n");
-#endif
+
   /* subset */
   {
     dump_filter (l, "{", subset, " }");
Index: gen-engine.c
===================================================================
RCS file: /cvs/src/src/sim/igen/gen-engine.c,v
retrieving revision 1.11
diff -p -u -r1.11 gen-engine.c
--- gen-engine.c	1 Jan 2011 15:34:00 -0000	1.11
+++ gen-engine.c	7 Jul 2011 23:55:58 -0000
@@ -333,325 +333,6 @@ after all the other CPU's and the event 
 
 /****************************************************************/
 
-#if 0
-static void
-print_jump (lf *file, int is_tail)
-{
-  if (!options.gen.smp)
-    {
-      lf_putstr (file, "if (event_queue_tick (sd))\n");
-      lf_putstr (file, "  {\n");
-      lf_putstr (file, "    CPU_CIA (processor) = nia;\n");
-      lf_putstr (file, "    sim_events_process (sd);\n");
-      lf_putstr (file, "  }\n");
-      lf_putstr (file, "}\n");
-    }
-
-  if (options.gen.smp)
-    {
-      if (is_tail)
-	lf_putstr (file, "cpu_set_program_counter(processor, nia);\n");
-      lf_putstr (file, "current_cpu += 1;\n");
-      lf_putstr (file, "if (current_cpu >= nr_cpus)\n");
-      lf_putstr (file, "  {\n");
-      lf_putstr (file, "    if (sim_events_tick (sd))\n");
-      lf_putstr (file, "      {\n");
-      lf_putstr (file, "        sim_events_process (sd);\n");
-      lf_putstr (file, "      }\n");
-      lf_putstr (file, "    current_cpu = 0;\n");
-      lf_putstr (file, "  }\n");
-      lf_putstr (file, "processor = processors[current_cpu];\n");
-      lf_putstr (file, "nia = cpu_get_program_counter(processor);\n");
-    }
-
-  if (options.gen.icache)
-    {
-      lf_putstr (file, "cache_entry = cpu_icache_entry(processor, nia);\n");
-      lf_putstr (file, "if (cache_entry->address == nia) {\n");
-      lf_putstr (file, "  /* cache hit */\n");
-      lf_putstr (file, "  goto *cache_entry->semantic;\n");
-      lf_putstr (file, "}\n");
-      if (is_tail)
-	{
-	  lf_putstr (file, "goto cache_miss;\n");
-	}
-    }
-
-  if (!options.gen.icache && is_tail)
-    {
-      lf_printf (file, "goto engine;\n");
-    }
-
-}
-#endif
-
-
-#if 0
-static void
-print_jump_insn (lf *file,
-		 insn_entry * instruction,
-		 opcode_bits *expanded_bits,
-		 opcode_field *opcodes, cache_entry *cache_rules)
-{
-  insn_opcodes opcode_path;
-
-  memset (&opcode_path, 0, sizeof (opcode_path));
-  opcode_path.opcode = opcodes;
-
-  /* what we are for the moment */
-  lf_printf (file, "\n");
-  print_my_defines (file,
-		    instruction->name,
-		    instruction->format_name, expanded_bits);
-
-  /* output the icache entry */
-  if (options.gen.icache)
-    {
-      lf_printf (file, "\n");
-      lf_indent (file, -1);
-      print_function_name (file,
-			   instruction->name,
-			   instruction->format_name,
-			   NULL, expanded_bits, function_name_prefix_icache);
-      lf_printf (file, ":\n");
-      lf_indent (file, +1);
-      lf_printf (file, "{\n");
-      lf_indent (file, +2);
-      lf_putstr (file, "const unsigned_word cia = nia;\n");
-      print_itrace (file, instruction, 1 /*putting-value-in-cache */ );
-      print_idecode_validate (file, instruction, &opcode_path);
-      lf_printf (file, "\n");
-      lf_printf (file, "{\n");
-      lf_indent (file, +2);
-      print_icache_body (file, instruction, expanded_bits, cache_rules, 0,	/*use_defines */
-			 put_values_in_icache);
-      lf_printf (file, "cache_entry->address = nia;\n");
-      lf_printf (file, "cache_entry->semantic = &&");
-      print_function_name (file,
-			   instruction->name,
-			   instruction->format_name,
-			   NULL,
-			   expanded_bits, function_name_prefix_semantics);
-      lf_printf (file, ";\n");
-      if (options.gen.semantic_icache)
-	{
-	  print_semantic_body (file,
-			       instruction, expanded_bits, &opcode_path);
-	  print_jump (file, 1 /*is-tail */ );
-	}
-      else
-	{
-	  lf_printf (file, "/* goto ");
-	  print_function_name (file,
-			       instruction->name,
-			       instruction->format_name,
-			       NULL,
-			       expanded_bits, function_name_prefix_semantics);
-	  lf_printf (file, "; */\n");
-	}
-      lf_indent (file, -2);
-      lf_putstr (file, "}\n");
-      lf_indent (file, -2);
-      lf_printf (file, "}\n");
-    }
-
-  /* print the semantics */
-  lf_printf (file, "\n");
-  lf_indent (file, -1);
-  print_function_name (file,
-		       instruction->name,
-		       instruction->format_name,
-		       NULL, expanded_bits, function_name_prefix_semantics);
-  lf_printf (file, ":\n");
-  lf_indent (file, +1);
-  lf_printf (file, "{\n");
-  lf_indent (file, +2);
-  lf_putstr (file, "const unsigned_word cia = nia;\n");
-  print_icache_body (file,
-		     instruction,
-		     expanded_bits,
-		     cache_rules,
-		     (options.gen.direct_access
-		      ? define_variables
-		      : declare_variables),
-		     (options.gen.icache
-		      ? get_values_from_icache : do_not_use_icache));
-  print_semantic_body (file, instruction, expanded_bits, &opcode_path);
-  if (options.gen.direct_access)
-    print_icache_body (file,
-		       instruction,
-		       expanded_bits,
-		       cache_rules,
-		       undef_variables,
-		       (options.gen.icache
-			? get_values_from_icache : do_not_use_icache));
-  print_jump (file, 1 /*is tail */ );
-  lf_indent (file, -2);
-  lf_printf (file, "}\n");
-}
-#endif
-
-
-#if 0
-static void
-print_jump_definition (lf *file, gen_entry *entry, int depth, void *data)
-{
-  cache_entry *cache_rules = (cache_entry *) data;
-  if (entry->opcode_rule->with_duplicates)
-    {
-      ASSERT (entry->nr_insns == 1
-	      && entry->opcode == NULL
-	      && entry->parent != NULL && entry->parent->opcode != NULL);
-      ASSERT (entry->nr_insns == 1
-	      && entry->opcode == NULL
-	      && entry->parent != NULL
-	      && entry->parent->opcode != NULL
-	      && entry->parent->opcode_rule != NULL);
-      print_jump_insn (file,
-		       entry->insns->insn,
-		       entry->expanded_bits, entry->opcode, cache_rules);
-    }
-  else
-    {
-      print_jump_insn (file, entry->insns->insn, NULL, NULL, cache_rules);
-    }
-}
-#endif
-
-
-#if 0
-static void
-print_jump_internal_function (lf *file, function_entry * function, void *data)
-{
-  if (function->is_internal)
-    {
-      lf_printf (file, "\n");
-      lf_print__line_ref (file, function->line);
-      lf_indent (file, -1);
-      print_function_name (file,
-			   function->name,
-			   NULL,
-			   NULL,
-			   NULL,
-			   (options.gen.icache
-			    ? function_name_prefix_icache
-			    : function_name_prefix_semantics));
-      lf_printf (file, ":\n");
-      lf_indent (file, +1);
-      lf_printf (file, "{\n");
-      lf_indent (file, +2);
-      lf_printf (file, "const unsigned_word cia = nia;\n");
-      table_print_code (file, function->code);
-      lf_print__internal_ref (file);
-      lf_printf (file, "error(\"Internal function must longjump\\n\");\n");
-      lf_indent (file, -2);
-      lf_printf (file, "}\n");
-    }
-}
-#endif
-
-
-#if 0
-static void
-print_jump_body (lf *file,
-		 gen_entry *entry, insn_table *isa, cache_entry *cache_rules)
-{
-  lf_printf (file, "{\n");
-  lf_indent (file, +2);
-  lf_putstr (file, "jmp_buf halt;\n");
-  lf_putstr (file, "jmp_buf restart;\n");
-  lf_putstr (file, "cpu *processor = NULL;\n");
-  lf_putstr (file, "unsigned_word nia = -1;\n");
-  lf_putstr (file, "instruction_word instruction = 0;\n");
-  if (options.gen.icache)
-    {
-      lf_putstr (file, "engine_cache *cache_entry = NULL;\n");
-    }
-  if (options.gen.smp)
-    {
-      lf_putstr (file, "int current_cpu = -1;\n");
-    }
-
-  /* all the switches and tables - they know about jumping */
-  print_idecode_lookups (file, entry, cache_rules);
-
-  /* start the simulation up */
-  if (options.gen.icache)
-    {
-      lf_putstr (file, "\n");
-      lf_putstr (file, "{\n");
-      lf_putstr (file, "  int cpu_nr;\n");
-      lf_putstr (file, "  for (cpu_nr = 0; cpu_nr < nr_cpus; cpu_nr++)\n");
-      lf_putstr (file, "    cpu_flush_icache(processors[cpu_nr]);\n");
-      lf_putstr (file, "}\n");
-    }
-
-  lf_putstr (file, "\n");
-  lf_putstr (file, "psim_set_halt_and_restart(system, &halt, &restart);\n");
-
-  lf_putstr (file, "\n");
-  lf_putstr (file, "if (setjmp(halt))\n");
-  lf_putstr (file, "  return;\n");
-
-  lf_putstr (file, "\n");
-  lf_putstr (file, "setjmp(restart);\n");
-
-  lf_putstr (file, "\n");
-  if (!options.gen.smp)
-    {
-      lf_putstr (file, "processor = processors[0];\n");
-      lf_putstr (file, "nia = cpu_get_program_counter(processor);\n");
-    }
-  else
-    {
-      lf_putstr (file, "current_cpu = psim_last_cpu(system);\n");
-    }
-
-  if (!options.gen.icache)
-    {
-      lf_printf (file, "\n");
-      lf_indent (file, -1);
-      lf_printf (file, "engine:\n");
-      lf_indent (file, +1);
-    }
-
-  print_jump (file, 0 /*is_tail */ );
-
-  if (options.gen.icache)
-    {
-      lf_indent (file, -1);
-      lf_printf (file, "cache_miss:\n");
-      lf_indent (file, +1);
-    }
-
-  print_engine_issue_prefix_hook (file);
-  lf_putstr (file, "instruction\n");
-  lf_putstr (file,
-	     "  = vm_instruction_map_read(cpu_instruction_map(processor),\n");
-  lf_putstr (file, "                            processor, nia);\n");
-  print_engine_issue_prefix_hook (file);
-  print_idecode_body (file, entry, "/*IGORE*/");
-  print_engine_issue_postfix_hook (file);
-
-  /* print out a table of all the internals functions */
-  function_entry_traverse (file, isa->functions,
-			   print_jump_internal_function, NULL);
-
-  /* print out a table of all the instructions */
-  ERROR ("Use the list of semantic functions, not travere_tree");
-  gen_entry_traverse_tree (file, entry, 1, NULL,	/* start */
-			   print_jump_definition,	/* leaf */
-			   NULL,	/* end */
-			   cache_rules);
-  lf_indent (file, -2);
-  lf_printf (file, "}\n");
-}
-#endif
-
-
-/****************************************************************/
-
-
 void
 print_engine_run_function_header (lf *file,
 				  char *processor,
@@ -754,12 +435,6 @@ gen_engine_c (lf *file,
 
 	case generate_jumps:
 	  ERROR ("Jumps currently unimplemented");
-#if 0
-	  print_engine_run_function_header (file,
-					    entry->processor,
-					    is_function_definition);
-	  print_jump_body (file, entry->table, isa, cache_rules);
-#endif
 	  break;
 	}
     }
Index: gen-idecode.c
===================================================================
RCS file: /cvs/src/src/sim/igen/gen-idecode.c,v
retrieving revision 1.9
diff -p -u -r1.9 gen-idecode.c
--- gen-idecode.c	1 Jan 2011 15:34:00 -0000	1.9
+++ gen-idecode.c	7 Jul 2011 23:55:58 -0000
@@ -706,327 +706,6 @@ print_idecode_body (lf *file, gen_entry 
 
 /****************************************************************/
 
-#if 0
-static void
-print_jump (lf *file, int is_tail)
-{
-  if (is_tail)
-    {
-      lf_putstr (file, "if (keep_running != NULL && !*keep_running)\n");
-      lf_putstr (file, "  cpu_halt(cpu, nia, was_continuing, 0/*na*/);\n");
-    }
-
-  if (!options.generate_smp)
-    {
-      lf_putstr (file, "if (WITH_EVENTS) {\n");
-      lf_putstr (file, "  if (event_queue_tick(events)) {\n");
-      lf_putstr (file, "    cpu_set_program_counter(cpu, nia);\n");
-      lf_putstr (file, "    event_queue_process(events);\n");
-      lf_putstr (file, "    nia = cpu_get_program_counter(cpu);\n");
-      lf_putstr (file, "  }\n");
-      lf_putstr (file, "}\n");
-    }
-
-  if (options.generate_smp)
-    {
-      if (is_tail)
-	{
-	  lf_putstr (file, "cpu_set_program_counter(cpu, nia);\n");
-	}
-      lf_putstr (file, "if (WITH_EVENTS) {\n");
-      lf_putstr (file, "  current_cpu += 1;\n");
-      lf_putstr (file, "  if (current_cpu >= nr_cpus) {\n");
-      lf_putstr (file, "    if (event_queue_tick(events)) {\n");
-      lf_putstr (file, "      event_queue_process(events);\n");
-      lf_putstr (file, "    }\n");
-      lf_putstr (file, "    current_cpu = 0;\n");
-      lf_putstr (file, "  }\n");
-      lf_putstr (file, "}\n");
-      lf_putstr (file, "else {\n");
-      lf_putstr (file, "  current_cpu = (current_cpu + 1) % nr_cpus;\n");
-      lf_putstr (file, "}\n");
-      lf_putstr (file, "cpu = cpus[current_cpu];\n");
-      lf_putstr (file, "nia = cpu_get_program_counter(cpu);\n");
-    }
-
-  if (options.gen.icache)
-    {
-      lf_putstr (file, "cache_entry = cpu_icache_entry(cpu, nia);\n");
-      lf_putstr (file, "if (cache_entry->address == nia) {\n");
-      lf_putstr (file, "  /* cache hit */\n");
-      lf_putstr (file, "  goto *cache_entry->semantic;\n");
-      lf_putstr (file, "}\n");
-      if (is_tail)
-	{
-	  lf_putstr (file, "goto cache_miss;\n");
-	}
-    }
-
-  if (!options.gen.icache && is_tail)
-    {
-      lf_printf (file, "goto idecode;\n");
-    }
-
-}
-#endif
-
-
-
-#if 0
-static void
-print_jump_insn (lf *file,
-		 insn_entry * instruction,
-		 insn_bits * expanded_bits,
-		 opcode_field *opcodes, cache_entry *cache_rules)
-{
-
-  /* what we are for the moment */
-  lf_printf (file, "\n");
-  print_my_defines (file, expanded_bits, instruction->name);
-
-  /* output the icache entry */
-  if (options.gen.icache)
-    {
-      lf_printf (file, "\n");
-      lf_indent (file, -1);
-      print_function_name (file,
-			   instruction->name,
-			   expanded_bits, function_name_prefix_icache);
-      lf_printf (file, ":\n");
-      lf_indent (file, +1);
-      lf_printf (file, "{\n");
-      lf_indent (file, +2);
-      lf_putstr (file, "const unsigned_word cia = nia;\n");
-      print_itrace (file, instruction, 1 /*putting-value-in-cache */ );
-      print_idecode_validate (file, instruction, opcodes);
-      lf_printf (file, "\n");
-      lf_printf (file, "{\n");
-      lf_indent (file, +2);
-      print_icache_body (file, instruction, expanded_bits, cache_rules, 0,	/*use_defines */
-			 put_values_in_icache);
-      lf_printf (file, "cache_entry->address = nia;\n");
-      lf_printf (file, "cache_entry->semantic = &&");
-      print_function_name (file,
-			   instruction->name,
-			   expanded_bits, function_name_prefix_semantics);
-      lf_printf (file, ";\n");
-      if (options.gen.semantic_icache)
-	{
-	  print_semantic_body (file, instruction, expanded_bits, opcodes);
-	  print_jump (file, 1 /*is-tail */ );
-	}
-      else
-	{
-	  lf_printf (file, "/* goto ");
-	  print_function_name (file,
-			       instruction->name,
-			       expanded_bits, function_name_prefix_semantics);
-	  lf_printf (file, "; */\n");
-	}
-      lf_indent (file, -2);
-      lf_putstr (file, "}\n");
-      lf_indent (file, -2);
-      lf_printf (file, "}\n");
-    }
-
-  /* print the semantics */
-  lf_printf (file, "\n");
-  lf_indent (file, -1);
-  print_function_name (file,
-		       instruction->name,
-		       expanded_bits, function_name_prefix_semantics);
-  lf_printf (file, ":\n");
-  lf_indent (file, +1);
-  lf_printf (file, "{\n");
-  lf_indent (file, +2);
-  lf_putstr (file, "const unsigned_word cia = nia;\n");
-  print_icache_body (file,
-		     instruction,
-		     expanded_bits,
-		     cache_rules,
-		     (options.gen.direct_access
-		      ? define_variables
-		      : declare_variables),
-		     (options.gen.icache
-		      ? get_values_from_icache : do_not_use_icache));
-  print_semantic_body (file, instruction, expanded_bits, opcodes);
-  if (options.gen.direct_access)
-    print_icache_body (file,
-		       instruction,
-		       expanded_bits,
-		       cache_rules,
-		       undef_variables,
-		       (options.gen.icache
-			? get_values_from_icache : do_not_use_icache));
-  print_jump (file, 1 /*is tail */ );
-  lf_indent (file, -2);
-  lf_printf (file, "}\n");
-}
-#endif
-
-
-#if 0
-static void
-print_jump_definition (lf *file,
-		       gen_entry *entry,
-		       insn_entry * insn, int depth, void *data)
-{
-  cache_entry *cache_rules = (cache_entry *) data;
-  if (options.generate_expanded_instructions)
-    {
-      ASSERT (entry->nr_insns == 1
-	      && entry->opcode == NULL
-	      && entry->parent != NULL && entry->parent->opcode != NULL);
-      ASSERT (entry->nr_insns == 1
-	      && entry->opcode == NULL
-	      && entry->parent != NULL
-	      && entry->parent->opcode != NULL
-	      && entry->parent->opcode_rule != NULL);
-      print_jump_insn (file,
-		       entry->insns->words[0]->insn,
-		       entry->expanded_bits, entry->opcode, cache_rules);
-    }
-  else
-    {
-      print_jump_insn (file,
-		       instruction->words[0]->insn, NULL, NULL, cache_rules);
-    }
-}
-#endif
-
-#if 0
-static void
-print_jump_internal_function (lf *file,
-			      gen_entry *table,
-			      function_entry * function, void *data)
-{
-  if (function->is_internal)
-    {
-      lf_printf (file, "\n");
-      lf_print__line_ref (file, function->line);
-      lf_indent (file, -1);
-      print_function_name (file,
-			   function->name,
-			   NULL,
-			   (options.gen.icache
-			    ? function_name_prefix_icache
-			    : function_name_prefix_semantics));
-      lf_printf (file, ":\n");
-      lf_indent (file, +1);
-      lf_printf (file, "{\n");
-      lf_indent (file, +2);
-      lf_printf (file, "const unsigned_word cia = nia;\n");
-      table_print_code (file, function->code);
-      lf_print__internal_ref (file);
-      print_sim_engine_abort (file, "Internal function must longjump");
-      lf_indent (file, -2);
-      lf_printf (file, "}\n");
-    }
-}
-#endif
-
-
-
-#if 0
-static void
-print_jump_until_stop_body (lf *file,
-			    insn_table *table, cache_table * cache_rules)
-{
-  lf_printf (file, "{\n");
-  lf_indent (file, +2);
-  lf_putstr (file, "jmp_buf halt;\n");
-  lf_putstr (file, "jmp_buf restart;\n");
-  lf_putstr (file, "sim_cpu *cpu = NULL;\n");
-  lf_putstr (file, "unsigned_word nia = -1;\n");
-  lf_putstr (file, "instruction_word instruction = 0;\n");
-  if ((code & generate_with_icache))
-    {
-      lf_putstr (file, "idecode_cache *cache_entry = NULL;\n");
-    }
-  if (generate_smp)
-    {
-      lf_putstr (file, "int current_cpu = -1;\n");
-    }
-
-  /* all the switches and tables - they know about jumping */
-  print_idecode_lookups (file, table, cache_rules);
-
-  /* start the simulation up */
-  if ((code & generate_with_icache))
-    {
-      lf_putstr (file, "\n");
-      lf_putstr (file, "{\n");
-      lf_putstr (file, "  int cpu_nr;\n");
-      lf_putstr (file, "  for (cpu_nr = 0; cpu_nr < nr_cpus; cpu_nr++)\n");
-      lf_putstr (file, "    cpu_flush_icache(cpus[cpu_nr]);\n");
-      lf_putstr (file, "}\n");
-    }
-
-  lf_putstr (file, "\n");
-  lf_putstr (file, "psim_set_halt_and_restart(system, &halt, &restart);\n");
-
-  lf_putstr (file, "\n");
-  lf_putstr (file, "if (setjmp(halt))\n");
-  lf_putstr (file, "  return;\n");
-
-  lf_putstr (file, "\n");
-  lf_putstr (file, "setjmp(restart);\n");
-
-  lf_putstr (file, "\n");
-  if (!generate_smp)
-    {
-      lf_putstr (file, "cpu = cpus[0];\n");
-      lf_putstr (file, "nia = cpu_get_program_counter(cpu);\n");
-    }
-  else
-    {
-      lf_putstr (file, "current_cpu = psim_last_cpu(system);\n");
-    }
-
-  if (!(code & generate_with_icache))
-    {
-      lf_printf (file, "\n");
-      lf_indent (file, -1);
-      lf_printf (file, "idecode:\n");
-      lf_indent (file, +1);
-    }
-
-  print_jump (file, 0 /*is_tail */ );
-
-  if ((code & generate_with_icache))
-    {
-      lf_indent (file, -1);
-      lf_printf (file, "cache_miss:\n");
-      lf_indent (file, +1);
-    }
-
-  lf_putstr (file, "instruction\n");
-  lf_putstr (file, "  = vm_instruction_map_read(cpu_instruction_map(cpu),\n");
-  lf_putstr (file, "                            cpu, nia);\n");
-  print_idecode_body (file, table, "/*IGORE*/");
-
-  /* print out a table of all the internals functions */
-  insn_table_traverse_function (table,
-				file, NULL, print_jump_internal_function);
-
-  /* print out a table of all the instructions */
-  if (generate_expanded_instructions)
-    insn_table_traverse_tree (table, file, cache_rules, 1, NULL,	/* start */
-			      print_jump_definition,	/* leaf */
-			      NULL,	/* end */
-			      NULL);	/* padding */
-  else
-    insn_table_traverse_insn (table,
-			      file, cache_rules, print_jump_definition);
-  lf_indent (file, -2);
-  lf_printf (file, "}\n");
-}
-#endif
-
-/****************************************************************/
-
-
-
 /* Output code to do any final checks on the decoded instruction.
    This includes things like verifying any on decoded fields have the
    correct value and checking that (for floating point) floating point
Index: gen-model.c
===================================================================
RCS file: /cvs/src/src/sim/igen/gen-model.c,v
retrieving revision 1.9
diff -p -u -r1.9 gen-model.c
--- gen-model.c	1 Jan 2011 15:34:00 -0000	1.9
+++ gen-model.c	7 Jul 2011 23:55:58 -0000
@@ -36,404 +36,6 @@
 #endif
 
 
-#if 0
-static void
-model_c_or_h_data (insn_table *table, lf *file, table_entry *data)
-{
-  if (data->annex)
-    {
-      table_entry_print_cpp_line_nr (file, data->annex_line);
-      lf_print__c_code (file, data->annex);
-      lf_print__internal_reference (file);
-      lf_printf (file, "\n");
-    }
-}
-
-static void
-model_c_or_h_function (insn_table *entry,
-		       lf *file, table_entry *function, char *prefix)
-{
-  if (function->fields[function_type] == NULL
-      || function->fields[function_type][0] == '\0')
-    {
-      error ("Model function type not specified for %s",
-	     function->fields[function_name]);
-    }
-  lf_printf (file, "\n");
-  lf_print_function_type (file, function->fields[function_type], prefix, " ");
-  lf_printf (file, "%s\n(%s);\n",
-	     function->fields[function_name],
-	     function->fields[function_param]);
-  lf_printf (file, "\n");
-}
-
-void
-gen_model_h (insn_table *table, lf *file)
-{
-  insn *insn_ptr;
-  model *model_ptr;
-  insn *macro;
-  char *name;
-  int model_create_p = 0;
-  int model_init_p = 0;
-  int model_halt_p = 0;
-  int model_mon_info_p = 0;
-  int model_mon_info_free_p = 0;
-
-  for (macro = model_macros; macro; macro = macro->next)
-    {
-      model_c_or_h_data (table, file, macro->file_entry);
-    }
-
-  lf_printf (file, "typedef enum _model_enum {\n");
-  lf_printf (file, "  MODEL_NONE,\n");
-  for (model_ptr = models; model_ptr; model_ptr = model_ptr->next)
-    {
-      lf_printf (file, "  MODEL_%s,\n", model_ptr->name);
-    }
-  lf_printf (file, "  nr_models\n");
-  lf_printf (file, "} model_enum;\n");
-  lf_printf (file, "\n");
-
-  lf_printf (file, "#define DEFAULT_MODEL MODEL_%s\n",
-	     (models) ? models->name : "NONE");
-  lf_printf (file, "\n");
-
-  lf_printf (file, "typedef struct _model_data model_data;\n");
-  lf_printf (file, "typedef struct _model_time model_time;\n");
-  lf_printf (file, "\n");
-
-  lf_printf (file, "extern model_enum current_model;\n");
-  lf_printf (file, "extern const char *model_name[ (int)nr_models ];\n");
-  lf_printf (file,
-	     "extern const char *const *const model_func_unit_name[ (int)nr_models ];\n");
-  lf_printf (file,
-	     "extern const model_time *const model_time_mapping[ (int)nr_models ];\n");
-  lf_printf (file, "\n");
-
-  for (insn_ptr = model_functions; insn_ptr; insn_ptr = insn_ptr->next)
-    {
-      model_c_or_h_function (table, file, insn_ptr->file_entry,
-			     "INLINE_MODEL");
-      name = insn_ptr->file_entry->fields[function_name];
-      if (strcmp (name, "model_create") == 0)
-	model_create_p = 1;
-      else if (strcmp (name, "model_init") == 0)
-	model_init_p = 1;
-      else if (strcmp (name, "model_halt") == 0)
-	model_halt_p = 1;
-      else if (strcmp (name, "model_mon_info") == 0)
-	model_mon_info_p = 1;
-      else if (strcmp (name, "model_mon_info_free") == 0)
-	model_mon_info_free_p = 1;
-    }
-
-  if (!model_create_p)
-    {
-      lf_print_function_type (file, "model_data *", "INLINE_MODEL", " ");
-      lf_printf (file, "model_create\n");
-      lf_printf (file, "(sim_cpu *cpu);\n");
-      lf_printf (file, "\n");
-    }
-
-  if (!model_init_p)
-    {
-      lf_print_function_type (file, "void", "INLINE_MODEL", " ");
-      lf_printf (file, "model_init\n");
-      lf_printf (file, "(model_data *model_ptr);\n");
-      lf_printf (file, "\n");
-    }
-
-  if (!model_halt_p)
-    {
-      lf_print_function_type (file, "void", "INLINE_MODEL", " ");
-      lf_printf (file, "model_halt\n");
-      lf_printf (file, "(model_data *model_ptr);\n");
-      lf_printf (file, "\n");
-    }
-
-  if (!model_mon_info_p)
-    {
-      lf_print_function_type (file, "model_print *", "INLINE_MODEL", " ");
-      lf_printf (file, "model_mon_info\n");
-      lf_printf (file, "(model_data *model_ptr);\n");
-      lf_printf (file, "\n");
-    }
-
-  if (!model_mon_info_free_p)
-    {
-      lf_print_function_type (file, "void", "INLINE_MODEL", " ");
-      lf_printf (file, "model_mon_info_free\n");
-      lf_printf (file, "(model_data *model_ptr,\n");
-      lf_printf (file, " model_print *info_ptr);\n");
-      lf_printf (file, "\n");
-    }
-
-  lf_print_function_type (file, "void", "INLINE_MODEL", " ");
-  lf_printf (file, "model_set\n");
-  lf_printf (file, "(const char *name);\n");
-}
-
-/****************************************************************/
-
-typedef struct _model_c_passed_data model_c_passed_data;
-struct _model_c_passed_data
-{
-  lf *file;
-  model *model_ptr;
-};
-
-static void
-model_c_insn (insn_table *entry,
-	      lf *phony_file, void *data, insn * instruction, int depth)
-{
-  model_c_passed_data *data_ptr = (model_c_passed_data *) data;
-  lf *file = data_ptr->file;
-  char *current_name = data_ptr->model_ptr->printable_name;
-  table_model_entry *model_ptr = instruction->file_entry->model_first;
-
-  while (model_ptr)
-    {
-      if (model_ptr->fields[insn_model_name] == current_name)
-	{
-	  lf_printf (file, "  { %-*s },  /* %s */\n",
-		     max_model_fields_len,
-		     model_ptr->fields[insn_model_fields],
-		     instruction->file_entry->fields[insn_name]);
-	  return;
-	}
-
-      model_ptr = model_ptr->next;
-    }
-
-  lf_printf (file, "  { %-*s },  /* %s */\n",
-	     max_model_fields_len,
-	     data_ptr->model_ptr->insn_default,
-	     instruction->file_entry->fields[insn_name]);
-}
-
-static void
-model_c_function (insn_table *table,
-		  lf *file, table_entry *function, const char *prefix)
-{
-  if (function->fields[function_type] == NULL
-      || function->fields[function_type][0] == '\0')
-    {
-      error ("Model function return type not specified for %s",
-	     function->fields[function_name]);
-    }
-  else
-    {
-      lf_printf (file, "\n");
-      lf_print_function_type (file, function->fields[function_type], prefix,
-			      "\n");
-      lf_printf (file, "%s(%s)\n", function->fields[function_name],
-		 function->fields[function_param]);
-    }
-  lf_printf (file, "{\n");
-  if (function->annex)
-    {
-      lf_indent (file, +2);
-      table_entry_print_cpp_line_nr (file, function->annex_line);
-      lf_print__c_code (file, function->annex);
-      lf_indent (file, -2);
-    }
-  lf_printf (file, "}\n");
-  lf_print__internal_reference (file);
-  lf_printf (file, "\n");
-}
-
-void
-gen_model_c (insn_table *table, lf *file)
-{
-  insn *insn_ptr;
-  model *model_ptr;
-  char *name;
-  int model_create_p = 0;
-  int model_init_p = 0;
-  int model_halt_p = 0;
-  int model_mon_info_p = 0;
-  int model_mon_info_free_p = 0;
-
-  lf_printf (file, "\n");
-  lf_printf (file, "#include \"cpu.h\"\n");
-  lf_printf (file, "#include \"mon.h\"\n");
-  lf_printf (file, "\n");
-  lf_printf (file, "#ifdef HAVE_STDLIB_H\n");
-  lf_printf (file, "#include <stdlib.h>\n");
-  lf_printf (file, "#endif\n");
-  lf_printf (file, "\n");
-
-  for (insn_ptr = model_data; insn_ptr; insn_ptr = insn_ptr->next)
-    {
-      model_c_or_h_data (table, file, insn_ptr->file_entry);
-    }
-
-  for (insn_ptr = model_static; insn_ptr; insn_ptr = insn_ptr->next)
-    {
-      model_c_or_h_function (table, file, insn_ptr->file_entry,
-			     "/*h*/STATIC");
-    }
-
-  for (insn_ptr = model_internal; insn_ptr; insn_ptr = insn_ptr->next)
-    {
-      model_c_or_h_function (table, file, insn_ptr->file_entry,
-			     "STATIC_INLINE_MODEL");
-    }
-
-  for (insn_ptr = model_static; insn_ptr; insn_ptr = insn_ptr->next)
-    {
-      model_c_function (table, file, insn_ptr->file_entry, "/*c*/STATIC");
-    }
-
-  for (insn_ptr = model_internal; insn_ptr; insn_ptr = insn_ptr->next)
-    {
-      model_c_function (table, file, insn_ptr->file_entry,
-			"STATIC_INLINE_MODEL");
-    }
-
-  for (insn_ptr = model_functions; insn_ptr; insn_ptr = insn_ptr->next)
-    {
-      model_c_function (table, file, insn_ptr->file_entry, "INLINE_MODEL");
-      name = insn_ptr->file_entry->fields[function_name];
-      if (strcmp (name, "model_create") == 0)
-	model_create_p = 1;
-      else if (strcmp (name, "model_init") == 0)
-	model_init_p = 1;
-      else if (strcmp (name, "model_halt") == 0)
-	model_halt_p = 1;
-      else if (strcmp (name, "model_mon_info") == 0)
-	model_mon_info_p = 1;
-      else if (strcmp (name, "model_mon_info_free") == 0)
-	model_mon_info_free_p = 1;
-    }
-
-  if (!model_create_p)
-    {
-      lf_print_function_type (file, "model_data *", "INLINE_MODEL", "\n");
-      lf_printf (file, "model_create(sim_cpu *cpu)\n");
-      lf_printf (file, "{\n");
-      lf_printf (file, "  return (model_data *)0;\n");
-      lf_printf (file, "}\n");
-      lf_printf (file, "\n");
-    }
-
-  if (!model_init_p)
-    {
-      lf_print_function_type (file, "void", "INLINE_MODEL", "\n");
-      lf_printf (file, "model_init(model_data *model_ptr)\n");
-      lf_printf (file, "{\n");
-      lf_printf (file, "}\n");
-      lf_printf (file, "\n");
-    }
-
-  if (!model_halt_p)
-    {
-      lf_print_function_type (file, "void", "INLINE_MODEL", "\n");
-      lf_printf (file, "model_halt(model_data *model_ptr)\n");
-      lf_printf (file, "{\n");
-      lf_printf (file, "}\n");
-      lf_printf (file, "\n");
-    }
-
-  if (!model_mon_info_p)
-    {
-      lf_print_function_type (file, "model_print *", "INLINE_MODEL", "\n");
-      lf_printf (file, "model_mon_info(model_data *model_ptr)\n");
-      lf_printf (file, "{\n");
-      lf_printf (file, "  return (model_print *)0;\n");
-      lf_printf (file, "}\n");
-      lf_printf (file, "\n");
-    }
-
-  if (!model_mon_info_free_p)
-    {
-      lf_print_function_type (file, "void", "INLINE_MODEL", "\n");
-      lf_printf (file, "model_mon_info_free(model_data *model_ptr,\n");
-      lf_printf (file, "                    model_print *info_ptr)\n");
-      lf_printf (file, "{\n");
-      lf_printf (file, "}\n");
-      lf_printf (file, "\n");
-    }
-
-  lf_printf (file, "/* Insn functional unit info */\n");
-  for (model_ptr = models; model_ptr; model_ptr = model_ptr->next)
-    {
-      model_c_passed_data data;
-
-      lf_printf (file, "static const model_time model_time_%s[] = {\n",
-		 model_ptr->name);
-      data.file = file;
-      data.model_ptr = model_ptr;
-      insn_table_traverse_insn (table, NULL, (void *) &data, model_c_insn);
-
-      lf_printf (file, "};\n");
-      lf_printf (file, "\n");
-      lf_printf (file, "\f\n");
-    }
-
-  lf_printf (file, "#ifndef _INLINE_C_\n");
-  lf_printf (file,
-	     "const model_time *const model_time_mapping[ (int)nr_models ] = {\n");
-  lf_printf (file, "  (const model_time *const)0,\n");
-  for (model_ptr = models; model_ptr; model_ptr = model_ptr->next)
-    {
-      lf_printf (file, "  model_time_%s,\n", model_ptr->name);
-    }
-  lf_printf (file, "};\n");
-  lf_printf (file, "#endif\n");
-  lf_printf (file, "\n");
-
-  lf_printf (file, "\f\n");
-  lf_printf (file, "/* map model enumeration into printable string */\n");
-  lf_printf (file, "#ifndef _INLINE_C_\n");
-  lf_printf (file, "const char *model_name[ (int)nr_models ] = {\n");
-  lf_printf (file, "  \"NONE\",\n");
-  for (model_ptr = models; model_ptr; model_ptr = model_ptr->next)
-    {
-      lf_printf (file, "  \"%s\",\n", model_ptr->printable_name);
-    }
-  lf_printf (file, "};\n");
-  lf_printf (file, "#endif\n");
-  lf_printf (file, "\n");
-
-  lf_print_function_type (file, "void", "INLINE_MODEL", "\n");
-  lf_printf (file, "model_set(const char *name)\n");
-  lf_printf (file, "{\n");
-  if (models)
-    {
-      lf_printf (file, "  model_enum model;\n");
-      lf_printf (file,
-		 "  for(model = MODEL_%s; model < nr_models; model++) {\n",
-		 models->name);
-      lf_printf (file, "    if(strcmp(name, model_name[model]) == 0) {\n");
-      lf_printf (file, "      current_model = model;\n");
-      lf_printf (file, "      return;\n");
-      lf_printf (file, "    }\n");
-      lf_printf (file, "  }\n");
-      lf_printf (file, "\n");
-      lf_printf (file,
-		 "  error(\"Unknown model '%%s', Models which are known are:%%s\n\",\n");
-      lf_printf (file, "        name,\n");
-      lf_printf (file, "        \"");
-      for (model_ptr = models; model_ptr; model_ptr = model_ptr->next)
-	{
-	  lf_printf (file, "\\n\\t%s", model_ptr->printable_name);
-	}
-      lf_printf (file, "\");\n");
-    }
-  else
-    {
-      lf_printf (file, "  error(\"No models are currently known about\");\n");
-    }
-
-  lf_printf (file, "}\n");
-}
-
-#endif
-
-
-
 void
 gen_model_h (lf *file, insn_table *table)
 {
Index: gen.c
===================================================================
RCS file: /cvs/src/src/sim/igen/gen.c,v
retrieving revision 1.12
diff -p -u -r1.12 gen.c
--- gen.c	1 Jan 2011 15:34:00 -0000	1.12
+++ gen.c	7 Jul 2011 23:55:58 -0000
@@ -555,48 +555,6 @@ make_gen_tables (insn_table *isa, decode
 
 /****************************************************************/
 
-#if 0
-typedef enum
-{
-  field_is_not_constant = 0,
-  field_constant_int = 1,
-  field_constant_reserved = 2,
-  field_constant_string = 3
-}
-constant_field_types;
-
-static constant_field_types
-insn_field_is_constant (insn_field * field, decode_table *rule)
-{
-  switch (field->type)
-    {
-    case insn_field_int:
-      /* field is an integer */
-      return field_constant_int;
-    case insn_field_reserved:
-      /* field is `/' and treating that as a constant */
-      if (rule->with_zero_reserved)
-	return field_constant_reserved;
-      else
-	return field_is_not_constant;
-    case insn_field_wild:
-      return field_is_not_constant;	/* never constant */
-    case insn_field_string:
-      /* field, though variable, is on the list of forced constants */
-      if (filter_is_member (rule->constant_field_names, field->val_string))
-	return field_constant_string;
-      else
-	return field_is_not_constant;
-    }
-  ERROR ("Internal error");
-  return field_is_not_constant;
-}
-#endif
-
-
-/****************************************************************/
-
-
 /* Is the bit, according to the decode rule, identical across all the
    instructions? */
 static int
@@ -766,75 +724,6 @@ gen_entry_find_opcode_field (insn_list *
 	break;
     }
 
-
-#if 0
-  for (entry = insns; entry != NULL; entry = entry->next)
-    {
-      insn_word_entry *fields = entry->insn->word[rule->word_nr];
-      opcode_field new_opcode;
-
-      ASSERT (fields != NULL);
-
-      /* find a start point for the opcode field */
-      new_opcode.first = rule->first;
-      while (new_opcode.first <= rule->last
-	     && (!string_only
-		 ||
-		 (insn_field_is_constant (fields->bit[new_opcode.first], rule)
-		  != field_constant_string)) && (string_only
-						 ||
-						 (insn_field_is_constant
-						  (fields->
-						   bit[new_opcode.first],
-						   rule) ==
-						  field_is_not_constant)))
-	{
-	  int new_first = fields->bit[new_opcode.first]->last + 1;
-	  ASSERT (new_first > new_opcode.first);
-	  new_opcode.first = new_first;
-	}
-      ASSERT (new_opcode.first > rule->last
-	      || (string_only
-		  && insn_field_is_constant (fields->bit[new_opcode.first],
-					     rule) == field_constant_string)
-	      || (!string_only
-		  && insn_field_is_constant (fields->bit[new_opcode.first],
-					     rule)));
-
-      /* find the end point for the opcode field */
-      new_opcode.last = rule->last;
-      while (new_opcode.last >= rule->first
-	     && (!string_only
-		 || insn_field_is_constant (fields->bit[new_opcode.last],
-					    rule) != field_constant_string)
-	     && (string_only
-		 || !insn_field_is_constant (fields->bit[new_opcode.last],
-					     rule)))
-	{
-	  int new_last = fields->bit[new_opcode.last]->first - 1;
-	  ASSERT (new_last < new_opcode.last);
-	  new_opcode.last = new_last;
-	}
-      ASSERT (new_opcode.last < rule->first
-	      || (string_only
-		  && insn_field_is_constant (fields->bit[new_opcode.last],
-					     rule) == field_constant_string)
-	      || (!string_only
-		  && insn_field_is_constant (fields->bit[new_opcode.last],
-					     rule)));
-
-      /* now see if our current opcode needs expanding to include the
-         interesting fields within this instruction */
-      if (new_opcode.first <= rule->last
-	  && curr_opcode.first > new_opcode.first)
-	curr_opcode.first = new_opcode.first;
-      if (new_opcode.last >= rule->first
-	  && curr_opcode.last < new_opcode.last)
-	curr_opcode.last = new_opcode.last;
-
-    }
-#endif
-
   /* did the final opcode field end up being empty? */
   if (curr_opcode.first > curr_opcode.last)
     {
Index: ld-insn.c
===================================================================
RCS file: /cvs/src/src/sim/igen/ld-insn.c,v
retrieving revision 1.9
diff -p -u -r1.9 ld-insn.c
--- ld-insn.c	1 Jan 2011 15:34:00 -0000	1.9
+++ ld-insn.c	7 Jul 2011 23:55:58 -0000
@@ -874,13 +874,6 @@ parse_insn_model_record (table *file,
 	  filter_parse (&insn->processors, name);
 	}
     }
-#if 0
-  /* for some reason record the max length of any
-     function unit field */
-  int len = strlen (insn_model_ptr->field[insn_model_fields]);
-  if (model->max_model_fields_len < len)
-    model->max_model_fields_len = len;
-#endif
   /* link it in */
   last_insn_model = &insn->models;
   while ((*last_insn_model) != NULL)
Index: misc.h
===================================================================
RCS file: /cvs/src/src/sim/igen/misc.h,v
retrieving revision 1.9
diff -p -u -r1.9 misc.h
--- misc.h	1 Jan 2011 15:34:00 -0000	1.9
+++ misc.h	7 Jul 2011 23:55:58 -0000
@@ -110,10 +110,6 @@ do { \
 
 #define ZALLOC(TYPE) ((TYPE*) zalloc (sizeof(TYPE)))
 #define NZALLOC(TYPE,N) ((TYPE*) zalloc (sizeof(TYPE) * (N)))
-#if 0
-#define STRDUP(STRING) (strcpy (zalloc (strlen (STRING) + 1), (STRING)))
-#define STRNDUP(STRING,LEN) (strncpy (zalloc ((LEN) + 1), (STRING), (LEN)))
-#endif
 
 extern void *zalloc (long size);
 
brgds, H-P


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]