From b99bd2b14501fe596de56120d8618042e48509e2 Mon Sep 17 00:00:00 2001 From: Chris Lattner Date: Mon, 4 Feb 2002 05:55:42 +0000 Subject: [PATCH] Move instrIsFeasible from InstrScheduling.h git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1674 91177308-0d34-0410-b5e6-96231b3b80d8 --- lib/CodeGen/InstrSched/SchedPriorities.h | 15 +++++++++++++++ lib/Target/SparcV9/InstrSched/SchedPriorities.h | 15 +++++++++++++++ 2 files changed, 30 insertions(+) diff --git a/lib/CodeGen/InstrSched/SchedPriorities.h b/lib/CodeGen/InstrSched/SchedPriorities.h index 7cbd0d12596..78b685dadde 100644 --- a/lib/CodeGen/InstrSched/SchedPriorities.h +++ b/lib/CodeGen/InstrSched/SchedPriorities.h @@ -32,7 +32,9 @@ class Method; class MachineInstr; class SchedulingManager; +//--------------------------------------------------------------------------- // Debug option levels for instruction scheduling + enum SchedDebugLevel_t { Sched_NoDebugInfo, Sched_PrintMachineCode, @@ -42,6 +44,19 @@ enum SchedDebugLevel_t { extern cl::Enum 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; diff --git a/lib/Target/SparcV9/InstrSched/SchedPriorities.h b/lib/Target/SparcV9/InstrSched/SchedPriorities.h index 7cbd0d12596..78b685dadde 100644 --- a/lib/Target/SparcV9/InstrSched/SchedPriorities.h +++ b/lib/Target/SparcV9/InstrSched/SchedPriorities.h @@ -32,7 +32,9 @@ class Method; class MachineInstr; class SchedulingManager; +//--------------------------------------------------------------------------- // Debug option levels for instruction scheduling + enum SchedDebugLevel_t { Sched_NoDebugInfo, Sched_PrintMachineCode, @@ -42,6 +44,19 @@ enum SchedDebugLevel_t { extern cl::Enum 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;