/* Parse one argument. */
int be_parse_arg(const char *arg) {
#ifdef WITH_LIBCORE
+ if (strcmp(arg, "help") == 0 || (arg[0] == '?' && arg[1] == '\0')) {
+ lc_opt_print_help(be_grp_root, stdout);
+ return -1;
+ }
return lc_opt_from_single_arg(be_grp_root, NULL, arg, NULL);
#endif /* WITH_LIBCORE */
}
isa = arch_env_get_isa(env.arch_env);
+ // /* for debugging, anchors helps */
+ // dump_all_anchors(1);
+
/* For all graphs */
for (i = 0, n = get_irp_n_irgs(); i < n; ++i) {
ir_graph *irg = get_irp_irg(i);
dump(DUMP_PREPARED, irg, "-prepared", dump_ir_block_graph);
- /* add Keeps for should_be_different constrained nodes */
- assure_constraints(&birg);
- dump(DUMP_PREPARED, irg, "-assured", dump_ir_block_graph);
-
/* Schedule the graphs. */
arch_code_generator_before_sched(birg.cg);
list_sched(&birg, be_disable_mris);
dump(DUMP_SCHED, irg, "-sched", dump_ir_block_graph_sched);
+ /* add Keeps for should_be_different constrained nodes */
+ /* beware: needs schedule due to usage of be_ssa_constr */
+ assure_constraints(&birg);
+ dump(DUMP_PREPARED, irg, "-assured", dump_ir_block_graph_sched);
+
/* connect all stack modifying nodes together (see beabi.c) */
be_abi_fix_stack_nodes(birg.abi);
dump(DUMP_SCHED, irg, "-fix_stack", dump_ir_block_graph_sched);
/* Verify the schedule */
- sched_verify_irg(irg);
+ assert(sched_verify_irg(irg));
/* do some statistics */
be_do_stat_reg_pressure(&birg);
// free_ir_graph(irg);
}
-
be_done_env(&env);
}