diff --git a/bin/transpiler/src/main.cpp b/bin/transpiler/src/main.cpp index 1f31942c..adff8376 100644 --- a/bin/transpiler/src/main.cpp +++ b/bin/transpiler/src/main.cpp @@ -68,14 +68,15 @@ bool read_buffer_from_file(std::ifstream &ifile, std::vector &v) { template void print_sol_files(ConstraintSystemType &constraint_system, ColumnsRotationsType &columns_rotations, - std::string out_folder_path = ".", bool optimize_gates = false) { + std::string out_folder_path = ".", bool optimize_gates = false, bool generate_asm = true) { ProfilingType::process_split( nil::blueprint::main_sol_file_template, nil::blueprint::gate_sol_file_template, constraint_system, columns_rotations, out_folder_path, - optimize_gates + optimize_gates, + generate_asm ); } @@ -230,6 +231,7 @@ int main(int argc, char *argv[]) { ("output-folder-path,o", boost::program_options::value(), "Output folder absolute path.\ It'll be better to create an empty folder for output") ("optimize-gates", "Put multiple sequental small gates into one .sol file") + ("no-asm", "Skip optimised assembly/yul code generation") ; // clang-format on @@ -248,6 +250,7 @@ int main(int argc, char *argv[]) { std::string circuit_file_name; std::string output_folder_path; std::string public_input; + bool generate_asm = true; if (vm.count("mode")) { mode = vm["mode"].as(); @@ -292,6 +295,8 @@ int main(int argc, char *argv[]) { return 1; } + + std::ifstream ifile; ifile.open(circuit_file_name); if (!ifile.is_open()) { @@ -378,8 +383,12 @@ int main(int argc, char *argv[]) { bool optimize_gates = false; if( vm.count("optimize-gates") ) optimize_gates = true; + if(vm.count("no-asm")){ + generate_asm = false ; + } + print_sol_files( - constraint_system, columns_rotations, output_folder_path, optimize_gates); + constraint_system, columns_rotations, output_folder_path, optimize_gates, generate_asm); } if ((mode == "gen-circuit-params") || (mode == "gen-test-proof")) {