Use hash code for scope labels.

This commit is contained in:
steve 2003-03-25 02:15:48 +00:00
parent a49df16d44
commit f354c43941
4 changed files with 28 additions and 24 deletions

View File

@ -17,7 +17,7 @@
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
*/
#ifdef HAVE_CVS_IDENT
#ident "$Id: draw_vpi.c,v 1.4 2003/03/15 04:45:18 steve Exp $"
#ident "$Id: draw_vpi.c,v 1.5 2003/03/25 02:15:48 steve Exp $"
#endif
# include "vvp_priv.h"
@ -184,8 +184,7 @@ static void draw_vpi_taskfunc_args(const char*call_string,
continue;
case IVL_EX_SCOPE:
fprintf(vvp_out, ", S_%s",
vvp_mangle_id(ivl_scope_name(ivl_expr_scope(expr))));
fprintf(vvp_out, ", S_%p", ivl_expr_scope(expr));
continue;
case IVL_EX_SFUNC:
@ -275,6 +274,9 @@ int draw_vpi_rfunc_call(ivl_expr_t fnet)
/*
* $Log: draw_vpi.c,v $
* Revision 1.5 2003/03/25 02:15:48 steve
* Use hash code for scope labels.
*
* Revision 1.4 2003/03/15 04:45:18 steve
* Allow real-valued vpi functions to have arguments.
*

View File

@ -17,7 +17,7 @@
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
*/
#ifdef HAVE_CVS_IDENT
#ident "$Id: eval_expr.c,v 1.93 2003/03/15 04:45:18 steve Exp $"
#ident "$Id: eval_expr.c,v 1.94 2003/03/25 02:15:48 steve Exp $"
#endif
# include "vvp_priv.h"
@ -1672,7 +1672,7 @@ static struct vector_info draw_ufunc_expr(ivl_expr_t exp, unsigned wid)
/* Call the function */
fprintf(vvp_out, " %%fork TD_%s", vvp_mangle_id(ivl_scope_name(def)));
fprintf(vvp_out, ", S_%s;\n", vvp_mangle_id(ivl_scope_name(def)));
fprintf(vvp_out, ", S_%p;\n", def);
fprintf(vvp_out, " %%join;\n");
/* Fresh basic block starts after the join. */
@ -2002,6 +2002,9 @@ struct vector_info draw_eval_expr(ivl_expr_t exp, int stuff_ok_flag)
/*
* $Log: eval_expr.c,v $
* Revision 1.94 2003/03/25 02:15:48 steve
* Use hash code for scope labels.
*
* Revision 1.93 2003/03/15 04:45:18 steve
* Allow real-valued vpi functions to have arguments.
*

View File

@ -17,7 +17,7 @@
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
*/
#ifdef HAVE_CVS_IDENT
#ident "$Id: vvp_process.c,v 1.83 2003/03/15 04:45:18 steve Exp $"
#ident "$Id: vvp_process.c,v 1.84 2003/03/25 02:15:48 steve Exp $"
#endif
# include "vvp_priv.h"
@ -668,8 +668,8 @@ static int show_stmt_block_named(ivl_statement_t net, ivl_scope_t scope)
out_id = transient_id++;
sub_id = transient_id++;
fprintf(vvp_out, " %%fork t_%u, S_%s;\n",
sub_id, vvp_mangle_id(ivl_scope_name(subscope)));
fprintf(vvp_out, " %%fork t_%u, S_%p;\n",
sub_id, subscope);
fprintf(vvp_out, " %%jmp t_%u;\n", out_id);
fprintf(vvp_out, "t_%u ;\n", sub_id);
@ -957,8 +957,7 @@ static int show_stmt_disable(ivl_statement_t net, ivl_scope_t sscope)
int rc = 0;
ivl_scope_t target = ivl_stmt_call(net);
fprintf(vvp_out, " %%disable S_%s;\n",
vvp_mangle_id(ivl_scope_name(target)));
fprintf(vvp_out, " %%disable S_%p;\n", target);
return rc;
}
@ -1021,9 +1020,8 @@ static int show_stmt_fork(ivl_statement_t net, ivl_scope_t sscope)
fork/join. Send the threads off to a bit of code where they
are implemented. */
for (idx = 0 ; idx < cnt-1 ; idx += 1) {
fprintf(vvp_out, " %%fork t_%u, S_%s;\n",
id_base+idx,
vvp_mangle_id(ivl_scope_name(sscope)));
fprintf(vvp_out, " %%fork t_%u, S_%p;\n",
id_base+idx, sscope);
}
/* Draw code to execute the remaining thread in the current
@ -1134,8 +1132,7 @@ static int show_stmt_utask(ivl_statement_t net)
fprintf(vvp_out, " %%fork TD_%s",
vvp_mangle_id(ivl_scope_name(task)));
fprintf(vvp_out, ", S_%s;\n",
vvp_mangle_id(ivl_scope_name(task)));
fprintf(vvp_out, ", S_%p;\n", task);
fprintf(vvp_out, " %%join;\n");
clear_expression_lookaside();
return 0;
@ -1364,8 +1361,7 @@ int draw_process(ivl_process_t net, void*x)
ivl_statement_t stmt = ivl_process_stmt(net);
local_count = 0;
fprintf(vvp_out, " .scope S_%s;\n",
vvp_mangle_id(ivl_scope_name(scope)));
fprintf(vvp_out, " .scope S_%p;\n", scope);
/* Generate the entry label. Just give the thread a number so
that we ar certain the label is unique. */
@ -1435,6 +1431,9 @@ int draw_func_definition(ivl_scope_t scope)
/*
* $Log: vvp_process.c,v $
* Revision 1.84 2003/03/25 02:15:48 steve
* Use hash code for scope labels.
*
* Revision 1.83 2003/03/15 04:45:18 steve
* Allow real-valued vpi functions to have arguments.
*

View File

@ -17,7 +17,7 @@
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
*/
#ifdef HAVE_CVS_IDENT
#ident "$Id: vvp_scope.c,v 1.90 2003/03/13 06:07:11 steve Exp $"
#ident "$Id: vvp_scope.c,v 1.91 2003/03/25 02:15:48 steve Exp $"
#endif
# include "vvp_priv.h"
@ -1538,14 +1538,11 @@ int draw_scope(ivl_scope_t net, ivl_scope_t parent)
default: type = "?"; assert(0);
}
fprintf(vvp_out, "S_%s .scope %s, \"%s\"",
vvp_mangle_id(ivl_scope_name(net)),
type,
vvp_mangle_name(ivl_scope_basename(net)));
fprintf(vvp_out, "S_%p .scope %s, \"%s\"",
net, type, vvp_mangle_name(ivl_scope_basename(net)));
if (parent) {
fprintf(vvp_out, ", S_%s;\n",
vvp_mangle_id(ivl_scope_name(parent)));
fprintf(vvp_out, ", S_%p;\n", parent);
} else {
fprintf(vvp_out, ";\n");
@ -1630,6 +1627,9 @@ int draw_scope(ivl_scope_t net, ivl_scope_t parent)
/*
* $Log: vvp_scope.c,v $
* Revision 1.91 2003/03/25 02:15:48 steve
* Use hash code for scope labels.
*
* Revision 1.90 2003/03/13 06:07:11 steve
* Use %p name for all LPM functors.
*