@@ -460,12 +460,10 @@ register_stats collect_register_stats(const instr_impl &instr, Module &m,
460460 throw std::runtime_error (
461461 " register-classes were not specified in input YAML" );
462462 register_stats stats (rclasses.begin (), rclasses.end ());
463- const MCRegisterInfo *rinfo = nullptr ;
464463 auto *stinfo = mmi.getTarget ().getSubtargetImpl (*m.begin ());
465464 for (auto &f : m) {
466465 auto &mf = mmi.getOrCreateMachineFunction (f);
467466 collect_register_stats_for (mf, mmi.getTarget (), stats);
468- rinfo = stinfo->getRegisterInfo ();
469467 }
470468 assert (!m.empty ());
471469 assert (stinfo);
@@ -1180,24 +1178,8 @@ Module &bleach_module(Module &m, MachineModuleInfo &mmi,
11801178
11811179 create_bleach_symtab_add_function_decl (m);
11821180 create_bleach_symtab_lookup_function_decl (m);
1183- // rename "main" function
1184- auto *main_func = m.getFunction (" main" );
1185- if (main_func)
1186- main_func->setName (std::format (" {}main" , lifted_prefix));
1187- // create state struct and generate header
1188- auto &state = create_state_type (m.getContext (), reg_stats, stack_size);
1189- if (!state_struct_file.empty ()) {
1190- if (state_struct_file == " -" ) {
1191- print_state_header (std::cout, translated, state, reg_stats);
1192- } else {
1193- std::fstream fs (std::string (state_struct_file), std::fstream::out);
1194- if (!fs.is_open ())
1195- throw std::runtime_error (
1196- std::format (" Could not open file \" {}\" " , state_struct_file));
1197- print_state_header (fs, translated, state, reg_stats);
1198- }
1199- }
12001181
1182+ auto &state = create_state_type (m.getContext (), reg_stats, stack_size);
12011183 for (auto &&[oldf, func_info] : funcs)
12021184 generate_function (*oldf, func_info, instrs, mmi, state, reg_stats,
12031185 assume_functions_nop);
@@ -1219,6 +1201,21 @@ Module &bleach_module(Module &m, MachineModuleInfo &mmi,
12191201 }
12201202 Linker::linkModules (m, std::move (extra));
12211203 }
1204+ // rename functions
1205+ for (auto *func : translated)
1206+ func->setName (std::format (" {}{}" , lifted_prefix, func->getName ().data ()));
1207+ // create state struct and generate header
1208+ if (!state_struct_file.empty ()) {
1209+ if (state_struct_file == " -" ) {
1210+ print_state_header (std::cout, translated, state, reg_stats);
1211+ } else {
1212+ std::fstream fs (std::string (state_struct_file), std::fstream::out);
1213+ if (!fs.is_open ())
1214+ throw std::runtime_error (
1215+ std::format (" Could not open file \" {}\" " , state_struct_file));
1216+ print_state_header (fs, translated, state, reg_stats);
1217+ }
1218+ }
12221219 for (auto *f : target_functions)
12231220 f->eraseFromParent ();
12241221
0 commit comments