Skip to content

Commit

Permalink
Merge pull request #184 from Bo-Yuan-Huang/fix-ilator-mem
Browse files Browse the repository at this point in the history
Fix bug #180: Ilator miscall to_int() when storing constants
  • Loading branch information
Bo-Yuan-Huang committed Jun 8, 2020
2 parents 6a1d7f1 + 9e45511 commit 06fe2d4
Showing 1 changed file with 15 additions and 6 deletions.
21 changes: 15 additions & 6 deletions src/target-sc/dfs.cc
Original file line number Diff line number Diff line change
Expand Up @@ -287,9 +287,13 @@ void IlaSim::dfs_binary_op_mem(std::stringstream& dfs_simulator,
arg1_str =
(arg1_str == "true") ? "1" : (arg1_str == "false") ? "0" : arg1_str;
else
arg1_str = (arg1_str == "true") ? "1" : (arg1_str == "false")
? "0"
: arg1_str + ".to_int()";
arg1_str = (arg1_str == "true")
? "1"
: (arg1_str == "false")
? "0"
: (GetUidExpr(expr->arg(1)) == AST_UID_EXPR::CONST)
? arg1_str
: arg1_str + ".to_int()";

std::string out_str = "c_" + std::to_string(expr->name().id());
std::string out_type_str =
Expand Down Expand Up @@ -347,9 +351,14 @@ void IlaSim::dfs_binary_op_mem(std::stringstream& dfs_simulator,
arg2_str =
(arg2_str == "true") ? "1" : (arg2_str == "false") ? "0" : arg2_str;
else
arg2_str = (arg2_str == "true") ? "1" : (arg2_str == "false")
? "0"
: arg2_str + ".to_int()";
arg2_str = (arg2_str == "true")
? "1"
: (arg2_str == "false")
? "0"
: (GetUidExpr(expr->arg(2)) == AST_UID_EXPR::CONST)
? arg2_str

: arg2_str + ".to_int()";
dfs_simulator << indent << "mem_update_map[" << arg1_str
<< "] = " << arg2_str << ";" << std::endl;
}
Expand Down

0 comments on commit 06fe2d4

Please sign in to comment.