The ScheduleDAG framework now requires an AliasAnalysis argument, though

it isn't needed in the ScheduleDAGSDNodes schedulers.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83691 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Dan Gohman 2009-10-09 23:33:48 +00:00
parent cda49a0b29
commit 98976e4dcd
6 changed files with 7 additions and 6 deletions

View File

@ -23,6 +23,7 @@
#include "llvm/ADT/PointerIntPair.h" #include "llvm/ADT/PointerIntPair.h"
namespace llvm { namespace llvm {
class AliasAnalysis;
class SUnit; class SUnit;
class MachineConstantPool; class MachineConstantPool;
class MachineFunction; class MachineFunction;
@ -490,7 +491,7 @@ namespace llvm {
/// BuildSchedGraph - Build SUnits and set up their Preds and Succs /// BuildSchedGraph - Build SUnits and set up their Preds and Succs
/// to form the scheduling dependency graph. /// to form the scheduling dependency graph.
/// ///
virtual void BuildSchedGraph() = 0; virtual void BuildSchedGraph(AliasAnalysis *AA) = 0;
/// ComputeLatency - Compute node latency. /// ComputeLatency - Compute node latency.
/// ///

View File

@ -117,7 +117,7 @@ void ScheduleDAGFast::Schedule() {
LiveRegCycles.resize(TRI->getNumRegs(), 0); LiveRegCycles.resize(TRI->getNumRegs(), 0);
// Build the scheduling graph. // Build the scheduling graph.
BuildSchedGraph(); BuildSchedGraph(NULL);
DEBUG(for (unsigned su = 0, e = SUnits.size(); su != e; ++su) DEBUG(for (unsigned su = 0, e = SUnits.size(); su != e; ++su)
SUnits[su].dumpAll(this)); SUnits[su].dumpAll(this));

View File

@ -91,7 +91,7 @@ void ScheduleDAGList::Schedule() {
DEBUG(errs() << "********** List Scheduling **********\n"); DEBUG(errs() << "********** List Scheduling **********\n");
// Build the scheduling graph. // Build the scheduling graph.
BuildSchedGraph(); BuildSchedGraph(NULL);
AvailableQueue->initNodes(SUnits); AvailableQueue->initNodes(SUnits);

View File

@ -172,7 +172,7 @@ void ScheduleDAGRRList::Schedule() {
LiveRegCycles.resize(TRI->getNumRegs(), 0); LiveRegCycles.resize(TRI->getNumRegs(), 0);
// Build the scheduling graph. // Build the scheduling graph.
BuildSchedGraph(); BuildSchedGraph(NULL);
DEBUG(for (unsigned su = 0, e = SUnits.size(); su != e; ++su) DEBUG(for (unsigned su = 0, e = SUnits.size(); su != e; ++su)
SUnits[su].dumpAll(this)); SUnits[su].dumpAll(this));

View File

@ -230,7 +230,7 @@ void ScheduleDAGSDNodes::AddSchedEdges() {
/// are input. This SUnit graph is similar to the SelectionDAG, but /// are input. This SUnit graph is similar to the SelectionDAG, but
/// excludes nodes that aren't interesting to scheduling, and represents /// excludes nodes that aren't interesting to scheduling, and represents
/// flagged together nodes with a single SUnit. /// flagged together nodes with a single SUnit.
void ScheduleDAGSDNodes::BuildSchedGraph() { void ScheduleDAGSDNodes::BuildSchedGraph(AliasAnalysis *AA) {
// Populate the SUnits array. // Populate the SUnits array.
BuildSchedUnits(); BuildSchedUnits();
// Compute all the scheduling dependencies between nodes. // Compute all the scheduling dependencies between nodes.

View File

@ -86,7 +86,7 @@ namespace llvm {
/// are input. This SUnit graph is similar to the SelectionDAG, but /// are input. This SUnit graph is similar to the SelectionDAG, but
/// excludes nodes that aren't interesting to scheduling, and represents /// excludes nodes that aren't interesting to scheduling, and represents
/// flagged together nodes with a single SUnit. /// flagged together nodes with a single SUnit.
virtual void BuildSchedGraph(); virtual void BuildSchedGraph(AliasAnalysis *AA);
/// ComputeLatency - Compute node latency. /// ComputeLatency - Compute node latency.
/// ///