/// <summary> /// Constructs an instance of the function-level scheduler. /// </summary> /// <param name="bbsched">basic block scheduling algorithm to use</param> public static ICFGSchedulingAlgorithm Create(IBasicBlockSchedulingAlgorithm bbsched) { return(new DefaultFunctionScheduler(bbsched)); }
/// <summary> /// Converts a basic block scheduling algorithm to a function-level scheduler, using <c>DefaultFunctionScheduler</c>. /// </summary> /// <param name="alg">basic block scheduling algorithm</param> public static ICFGSchedulingAlgorithm ToFunctionScheduler(this IBasicBlockSchedulingAlgorithm alg) { return(DefaultFunctionScheduler.Create(alg)); }
private DefaultFunctionScheduler(IBasicBlockSchedulingAlgorithm bbsched) { _bbsched = bbsched; }