Commit 093b74c8 authored by Matthias Braun's avatar Matthias Braun
Browse files

remove delay slot handling from verifier code

(they are not represented in the firm schedule)
parent f4069627
...@@ -157,16 +157,14 @@ static void verify_schedule_walker(ir_node *block, void *data) ...@@ -157,16 +157,14 @@ static void verify_schedule_walker(ir_node *block, void *data)
ir_node *node; ir_node *node;
ir_node *non_phi_found = NULL; ir_node *non_phi_found = NULL;
int cfchange_found = 0; int cfchange_found = 0;
/* TODO ask arch about delay branches */
int delay_branches = 0;
int last_timestep = INT_MIN; int last_timestep = INT_MIN;
/* /*
* Tests for the following things: * Tests for the following things:
* 1. Make sure that all phi nodes are scheduled at the beginning of the block * 1. Make sure that all phi nodes are scheduled at the beginning of the
* 2. There is 1 or no control flow changing node scheduled and exactly delay_branches operations after it. * block
* 3. No value is defined after it has been used * 2. No value is defined after it has been used
* 4. mode_T nodes have all projs scheduled behind them followed by Keeps * 3. mode_T nodes have all projs scheduled behind them followed by Keeps
* (except mode_X projs) * (except mode_X projs)
*/ */
sched_foreach(block, node) { sched_foreach(block, node) {
...@@ -218,14 +216,9 @@ static void verify_schedule_walker(ir_node *block, void *data) ...@@ -218,14 +216,9 @@ static void verify_schedule_walker(ir_node *block, void *data)
} else if (cfchange_found) { } else if (cfchange_found) {
/* proj and keepany aren't real instructions... */ /* proj and keepany aren't real instructions... */
if (!is_Proj(node) && !be_is_Keep(node)) { if (!is_Proj(node) && !be_is_Keep(node)) {
/* check for delay branches */ ir_fprintf(stderr, "Verify Warning: Node %+F scheduled after control flow changing node in block %+F (%s)\n",
if (delay_branches == 0) { node, block, get_irg_dump_name(env->irg));
ir_fprintf(stderr, "Verify Warning: Node %+F scheduled after control flow changing node (+delay branches) in block %+F (%s)\n", env->problem_found = 1;
node, block, get_irg_dump_name(env->irg));
env->problem_found = 1;
} else {
delay_branches--;
}
} }
} }
...@@ -282,13 +275,6 @@ static void verify_schedule_walker(ir_node *block, void *data) ...@@ -282,13 +275,6 @@ static void verify_schedule_walker(ir_node *block, void *data)
} }
} }
} }
/* 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 void check_schedule(ir_node *node, void *data) static void check_schedule(ir_node *node, void *data)
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment