Revert "Initial work on disabling the scheduler. This is a work in progress, and

this", this broke llvm-gcc bootstrap for release builds on
x86_64-apple-darwin10.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91533 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Daniel Dunbar
2009-12-16 10:56:02 +00:00
parent 24604110ef
commit 222518d0bb
4 changed files with 29 additions and 205 deletions

View File

@@ -110,46 +110,6 @@ class SelectionDAG {
/// SelectionDAG.
BumpPtrAllocator Allocator;
/// NodeOrdering - Assigns a "line number" value to each SDNode that
/// corresponds to the "line number" of the original LLVM instruction. This
/// used for turning off scheduling, because we'll forgo the normal scheduling
/// algorithm and output the instructions according to this ordering.
class NodeOrdering {
/// LineNo - The line of the instruction the node corresponds to. A value of
/// `0' means it's not assigned.
unsigned LineNo;
std::map<const SDNode*, unsigned> Order;
void operator=(const NodeOrdering&); // Do not implement.
NodeOrdering(const NodeOrdering&); // Do not implement.
public:
NodeOrdering() : LineNo(0) {}
void add(const SDNode *Node) {
assert(LineNo && "Invalid line number!");
Order[Node] = LineNo;
}
void remove(const SDNode *Node) {
std::map<const SDNode*, unsigned>::iterator Itr = Order.find(Node);
if (Itr != Order.end())
Order.erase(Itr);
}
void clear() {
Order.clear();
LineNo = 1;
}
unsigned getLineNo(const SDNode *Node) {
unsigned LN = Order[Node];
assert(LN && "Node isn't in ordering map!");
return LN;
}
void newInst() {
++LineNo;
}
void dump() const;
} *Ordering;
/// VerifyNode - Sanity check the given node. Aborts if it is invalid.
void VerifyNode(SDNode *N);
@@ -160,9 +120,6 @@ class SelectionDAG {
DenseSet<SDNode *> &visited,
int level, bool &printed);
void operator=(const SelectionDAG&); // Do not implement.
SelectionDAG(const SelectionDAG&); // Do not implement.
public:
SelectionDAG(TargetLowering &tli, FunctionLoweringInfo &fli);
~SelectionDAG();
@@ -242,13 +199,6 @@ public:
return Root = N;
}
/// NewInst - Tell the ordering object that we're processing a new
/// instruction.
void NewInst() {
if (Ordering)
Ordering->newInst();
}
/// Combine - This iterates over the nodes in the SelectionDAG, folding
/// certain types of nodes together, or eliminating superfluous nodes. The
/// Level argument controls whether Combine is allowed to produce nodes and