#include "bearch.h"
#include "beirg.h"
-/**
- * Checks, if a node is to appear in a schedule. Such nodes either
- * consume real data (mode datab) or produce such.
- * @param irn The node to check for.
- * @return 1, if the node consumes/produces data, false if not.
- */
-static inline bool to_appear_in_schedule(const ir_node *irn)
-{
- switch(get_irn_opcode(irn)) {
- case iro_Anchor:
- case iro_Bad:
- case iro_Block:
- case iro_Confirm:
- case iro_Dummy:
- case iro_End:
- case iro_NoMem:
- case iro_Pin:
- case iro_Proj:
- case iro_Sync:
- case iro_Unknown:
- return false;
- case iro_Phi:
- return mode_is_data(get_irn_mode(irn));
- default:
- return ! (arch_irn_get_flags(irn) & arch_irn_flags_not_scheduled);
- }
-}
-
/**
* A selector interface which is used by the list schedule framework.
* You can implement your own list scheduler by implementing these
* Called before a graph is being scheduled.
* May be NULL.
*
- * @param vtab The selector vtab.
* @param irg The backend graph.
- * @return The environment pointer that is passed to all other functions in this struct.
+ * @return The environment pointer that is passed to all other
+ * functions in this struct.
*/
void *(*init_graph)(ir_graph *irg);
* @param block_env Some private information as returned by init_block().
* @param sched_head The schedule so far.
* @param ready_set A set containing all ready nodes. Pick one of these nodes.
- * @param live_set A set containing all nodes currently alive.
* @return The chosen node.
*/
- ir_node *(*select)(void *block_env, ir_nodeset_t *ready_set,
- ir_nodeset_t *live_set);
+ ir_node *(*select)(void *block_env, ir_nodeset_t *ready_set);
/**
* This function gets executed after a node finally has been made ready.