* @brief Trivial node selector.
* @author Sebastian Hack
* @date 29.08.2006
- * @version $Id$
*/
#include "config.h"
* Just assure that branches are executed last, otherwise select
* the first node ready.
*/
-static ir_node *trivial_select(void *block_env, ir_nodeset_t *ready_set,
- ir_nodeset_t *live_set)
+static ir_node *trivial_select(void *block_env, ir_nodeset_t *ready_set)
{
- ir_node *irn;
- ir_nodeset_iterator_t iter;
(void)block_env;
- (void)live_set;
/* assure that branches and constants are executed last */
foreach_ir_nodeset(ready_set, irn, iter) {
}
/* at last: schedule branches */
- ir_nodeset_iterator_init(&iter, ready_set);
- irn = ir_nodeset_iterator_next(&iter);
-
- return irn;
+ return ir_nodeset_first(ready_set);
}
static void *trivial_init_graph(ir_graph *irg)
be_list_sched_graph(irg, &trivial_selector);
}
-BE_REGISTER_MODULE_CONSTRUCTOR(be_init_sched_trivial);
+BE_REGISTER_MODULE_CONSTRUCTOR(be_init_sched_trivial)
void be_init_sched_trivial(void)
{
be_register_scheduler("trivial", sched_trivial);