src/lima/gp_ir/scheduler.c
/* tries to schedule a node, placing it and then inserting any intermediate
 * moves necessary.
 *
 * If scheduling fails, sets success to false and doesn't clean up the inserted
 * moves (but adds them to the moves_inserted structure). Used internally by
 * sched_reg_reads() and by try_schedule_node().
 */
tries to schedule a node, placing it and then inserting any intermediate
moves necessary.

If scheduling fails, sets success to false and doesn't clean up the inserted
moves (but adds them to the moves_inserted structure). Used internally by
sched_reg_reads() and by try_schedule_node().
tries to schedule a node placing it and then inserting any intermediate moves necessary . If scheduling fails sets success to false and doesn ' t clean up the inserted moves ( but adds them to the moves_inserted structure ) . Used internally by sched_reg_reads () and by try_schedule_node () .
static bool try_schedule_node_impl(lima_gp_ir_node_t* node,
								   ptrset_t* moves_inserted, bool* success)
{
	bool result;
	if (!try_place_node(node, &result))
		return false;
	if (result)
	{
		*success = true;
		return true;
	}
	return try_thread_move_nodes(node, moves_inserted, success);
}
static bool try_schedule_node_impl ( lima_gp_ir_node_t * node , ptrset_t * moves_inserted , bool * success ) { bool result ; if ( ! try_place_node ( node , & result ) ) return false ; if ( result ) { * success = true ; return true ; } return try_thread_move_nodes ( node , moves_inserted , success ) ; }
tries to schedule a node, placing it and then inserting any intermediate
 moves necessary.
tries to schedule a node placing it and then inserting any intermediate moves necessary .