static const lc_opt_table_entry_t be_chordal_options[] = {
LC_OPT_ENT_ENUM_PTR ("perm", "perm lowering options", &lower_perm_var),
LC_OPT_ENT_ENUM_MASK("dump", "select dump phases", &dump_var),
- LC_OPT_ENT_ENUM_PTR ("vrfy", "verify options", &be_ch_vrfy_var),
+ LC_OPT_ENT_ENUM_PTR ("verify", "verify options", &be_ch_vrfy_var),
LC_OPT_LAST
};
/**
* Starts a walk for memory operands if supported by the backend.
*/
-static INLINE void check_for_memory_operands(ir_graph *irg)
+static inline void check_for_memory_operands(ir_graph *irg)
{
irg_walk_graph(irg, NULL, memory_operand_walker, NULL);
}
}
BE_TIMER_POP(t_ra_spill_apply);
- BE_TIMER_PUSH(t_verify);
/* verify schedule and register pressure */
+ BE_TIMER_PUSH(t_verify);
if (chordal_env->opts->vrfy_option == BE_CH_VRFY_WARN) {
be_verify_schedule(birg);
be_verify_register_pressure(birg, pse->cls, irg);
/* the backend has its own spiller */
m = arch_env_get_n_reg_class(arch_env);
- pse = alloca(m * sizeof(pse[0]));
+ pse = ALLOCAN(post_spill_env_t, m);
for (j = 0; j < m; ++j) {
memcpy(&pse[j].cenv, &chordal_env, sizeof(chordal_env));
}
BE_TIMER_PUSH(t_verify);
- be_verify_register_allocation(birg);
+ if (chordal_env.opts->vrfy_option == BE_CH_VRFY_WARN) {
+ be_verify_register_allocation(birg);
+ } else if(chordal_env.opts->vrfy_option == BE_CH_VRFY_ASSERT) {
+ assert(be_verify_register_allocation(birg)
+ && "Register allocation invalid");
+ }
BE_TIMER_POP(t_verify);
BE_TIMER_PUSH(t_ra_epilog);