aboutsummaryrefslogtreecommitdiffstats
path: root/passes
diff options
context:
space:
mode:
Diffstat (limited to 'passes')
-rw-r--r--passes/cmds/write_file.cc9
-rw-r--r--passes/fsm/fsm_opt.cc2
-rw-r--r--passes/opt/wreduce.cc4
3 files changed, 9 insertions, 6 deletions
diff --git a/passes/cmds/write_file.cc b/passes/cmds/write_file.cc
index 3f4419724..9bf1a75a8 100644
--- a/passes/cmds/write_file.cc
+++ b/passes/cmds/write_file.cc
@@ -68,10 +68,13 @@ struct WriteFileFrontend : public Frontend {
FILE *of = fopen(output_filename.c_str(), append_mode ? "a" : "w");
char buffer[64 * 1024];
- size_t bytes;
- while (0 < (bytes = readsome(*f, buffer, sizeof(buffer))))
- fwrite(buffer, bytes, 1, of);
+ while (1) {
+ f->read(buffer, sizeof(buffer));
+ if (f->gcount() <= 0)
+ break;
+ fwrite(buffer, f->gcount(), 1, of);
+ }
fclose(of);
}
diff --git a/passes/fsm/fsm_opt.cc b/passes/fsm/fsm_opt.cc
index 6685e8e0e..4b93d79f9 100644
--- a/passes/fsm/fsm_opt.cc
+++ b/passes/fsm/fsm_opt.cc
@@ -342,7 +342,7 @@ struct FsmOptPass : public Pass {
for (auto &mod_it : design->modules_) {
if (design->selected(mod_it.second))
for (auto &cell_it : mod_it.second->cells_)
- if (cell_it.second->type == "$fsm" and design->selected(mod_it.second, cell_it.second))
+ if (cell_it.second->type == "$fsm" && design->selected(mod_it.second, cell_it.second))
FsmData::optimize_fsm(cell_it.second, mod_it.second);
}
}
diff --git a/passes/opt/wreduce.cc b/passes/opt/wreduce.cc
index 89b1f8856..8f59a041e 100644
--- a/passes/opt/wreduce.cc
+++ b/passes/opt/wreduce.cc
@@ -32,14 +32,14 @@ struct WreduceConfig
WreduceConfig()
{
- supported_cell_types = {
+ supported_cell_types = std::set<IdString>({
"$not", "$pos", "$neg",
"$and", "$or", "$xor", "$xnor",
"$shl", "$shr", "$sshl", "$sshr", "$shift", "$shiftx",
"$lt", "$le", "$eq", "$ne", "$eqx", "$nex", "$ge", "$gt",
"$add", "$sub", // "$mul", "$div", "$mod", "$pow",
"$mux", "$pmux"
- };
+ });
}
};