class MachineInstr;
class SchedulingManager;
+//---------------------------------------------------------------------------
// Debug option levels for instruction scheduling
+
enum SchedDebugLevel_t {
Sched_NoDebugInfo,
Sched_PrintMachineCode,
extern cl::Enum<SchedDebugLevel_t> SchedDebugLevel;
+//---------------------------------------------------------------------------
+// Function: instrIsFeasible
+//
+// Purpose:
+// Used by the priority analysis to filter out instructions
+// that are not feasible to issue in the current cycle.
+// Should only be used during schedule construction..
+//---------------------------------------------------------------------------
+
+bool instrIsFeasible(const SchedulingManager &S, MachineOpCode opCode);
+
+
+
struct NodeDelayPair {
const SchedGraphNode* node;
cycles_t delay;
class MachineInstr;
class SchedulingManager;
+//---------------------------------------------------------------------------
// Debug option levels for instruction scheduling
+
enum SchedDebugLevel_t {
Sched_NoDebugInfo,
Sched_PrintMachineCode,
extern cl::Enum<SchedDebugLevel_t> SchedDebugLevel;
+//---------------------------------------------------------------------------
+// Function: instrIsFeasible
+//
+// Purpose:
+// Used by the priority analysis to filter out instructions
+// that are not feasible to issue in the current cycle.
+// Should only be used during schedule construction..
+//---------------------------------------------------------------------------
+
+bool instrIsFeasible(const SchedulingManager &S, MachineOpCode opCode);
+
+
+
struct NodeDelayPair {
const SchedGraphNode* node;
cycles_t delay;