-
- /* check that all delay branches are filled (at least with NOPs) */
- if (cfchange_found && delay_branches != 0) {
- ir_fprintf(stderr, "Verify warning: Not all delay slots filled after jump (%d/%d) in block %+F (%s)\n",
- block, get_irg_dump_name(env->irg));
- env->problem_found = 1;
- }
-}
-
-static int should_be_scheduled(be_verify_schedule_env_t *env, ir_node *node) {
- if(is_Block(node))
- return -1;
-
- if(get_irn_mode(node) == mode_M) {
- if(is_Proj(node))
- return 0;
- if(is_Phi(node) || is_Sync(node) || is_Pin(node))
- return 0;
- }
-#ifdef SCHEDULE_PROJS
- if(is_Proj(node)) {
- if(get_irn_mode(node) == mode_X)
- return 0;
- return should_be_scheduled(env, get_Proj_pred(node));
- }
-#else
- if(is_Proj(node))
- return 0;
-#endif
- if(be_is_Keep(node) && get_irn_opcode(get_nodes_block(node)) == iro_Bad)
- return 0;
-
- switch(get_irn_opcode(node)) {
- case iro_End:
- case iro_NoMem:
- case iro_Bad:
- case iro_Unknown:
- return 0;
- default:
- break;
- }
-
- if(arch_irn_get_flags(env->arch_env, node) & arch_irn_flags_ignore)
- return -1;
-
- return 1;