/* Finalization of the RTL loop passes. */ static unsigned int rtl_loop_done (void) { basic_block bb; if (current_loops) loop_optimizer_finalize (current_loops); free_dominance_info (CDI_DOMINATORS); /* Finalize layout changes. */ FOR_EACH_BB (bb) if (bb->next_bb != EXIT_BLOCK_PTR) bb->aux = bb->next_bb; cfg_layout_finalize (); cleanup_cfg (CLEANUP_EXPENSIVE); delete_trivially_dead_insns (get_insns (), max_reg_num ()); reg_scan (get_insns (), max_reg_num ()); if (dump_file) dump_flow_info (dump_file, dump_flags); current_loops = NULL; return 0; }
static void rest_of_handle_web (void) { web_main (); delete_trivially_dead_insns (get_insns (), max_reg_num ()); cleanup_cfg (CLEANUP_EXPENSIVE); reg_scan (get_insns (), max_reg_num ()); }
/* Run tracer. */ static unsigned int rest_of_handle_tracer (void) { if (dump_file) dump_flow_info (dump_file, dump_flags); tracer (0); cleanup_cfg (CLEANUP_EXPENSIVE); reg_scan (get_insns (), max_reg_num ()); return 0; }
int main(int argc, char *argv[]) { int mq_id; int i, max; int optc; int debug_level = 0; int addr = 0x10; int reg_no=1000; int reg_type = MB_TYPE_COILS; int value = 0; int timeout = 500; int mult = 0; mq_id = connect_ipc(); flush_msg_ipc(mq_id); while ((optc = getopt(argc, argv, "a:t:r:m:s:g::S:T:R:hd::")) > 0) { switch (optc){ case 'a': //address addr = atoi_adv(optarg); break; case 't': //register type reg_type = reg_type_get(optarg); break; case 'r': //register number reg_no = atoi_adv(optarg); break; case 'm': mult = atoi_adv(optarg); break; case 'g':{ enum eValueTypes val_type = MV_TYPE_SHORT; if(optarg) if(optarg[0]=='l') val_type = MV_TYPE_LONG; if(read_cmd(mq_id, addr, reg_type, reg_no, val_type, &value, 1)==1) printf("Read value %d\n", value); else{ fprintf(stderr, "Error reading value \n"); return 1; } }break; case 's': //set register value = atoi_adv(optarg); write_cmd(mq_id,addr, reg_type, reg_no, mult, value, debug_level); break; case 'S': addr_scan( mq_id, addr, atoi_adv(optarg) , reg_type, reg_no); break; case 'R': reg_scan(mq_id, addr, reg_type , reg_no, atoi_adv(optarg)); break; case 'T': test_sequence(mq_id,addr, reg_no, reg_type, mult, optarg); break; case 'd': debug_level = 1; break; case 'h': // Help default: fprintf(stderr, "%s", HelpText); exit(0); break; } } return EXIT_SUCCESS; }