#include "iredges.h"
#include "irgwalk.h"
+#include "irnode_t.h"
#include "irgraph_t.h"
#include "irloop.h"
#include "irprintf.h"
+#include "execfreq.h"
#include "irdump_t.h"
#include "irtools.h"
#include "debug.h"
static const lc_opt_table_entry_t be_blocksched_options[] = {
LC_OPT_ENT_ENUM_INT ("algo", "the block scheduling algorithm", &algo_var),
- { NULL }
+ LC_OPT_LAST
};
/*
ir_node *block; /**< source block */
int pos; /**< number of cfg predecessor (target) */
double execfreq; /**< the frequency */
- int highest_execfreq; /**< flag that indicates wether this edge is the edge with the highest
+ int highest_execfreq; /**< flag that indicates whether this edge is the edge with the highest
execfreq pointing away from this block */
} edge_t;
if (block == get_irg_start_block(env->irg))
return;
- arity = get_irn_arity(block);
+ arity = get_Block_n_cfgpreds(block);
if (arity == 1) {
edge.block = block;
int i = 0;
ir_node **block_list;
blocksched_entry_t *entry;
+ (void) env;
block_list = NEW_ARR_D(ir_node *, obst, count);
DBG((dbg, LEVEL_1, "Blockschedule:\n"));