remove redundant isa<GlobalValue>
ensure isa<GlobalValue> case is processed before is<Constant>


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14926 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Reid Spencer 2004-07-17 23:36:58 +00:00
parent 1488b34be5
commit 31c0da4483

View File

@ -163,8 +163,8 @@ class InstForest : public std::vector<InstTreeNode<Payload> *> {
void removeInstFromRootList(Instruction *I) { void removeInstFromRootList(Instruction *I) {
for (unsigned i = this->size(); i > 0; --i) for (unsigned i = this->size(); i > 0; --i)
if ((*this)[i-1]->getValue() == I) { if ((*this)[i-1]->getValue() == I) {
this->erase(this->begin()+i-1); this->erase(this->begin()+i-1);
return; return;
} }
} }
@ -238,15 +238,17 @@ bool InstTreeNode<Payload>::CanMergeInstIntoTree(Instruction *I) {
// //
template <class Payload> template <class Payload>
InstTreeNode<Payload>::InstTreeNode(InstForest<Payload> &IF, Value *V, InstTreeNode<Payload>::InstTreeNode(InstForest<Payload> &IF, Value *V,
InstTreeNode *Parent) : super(Parent) { InstTreeNode *Parent) : super(Parent) {
this->getTreeData().first.first = V; // Save tree node this->getTreeData().first.first = V; // Save tree node
if (!isa<Instruction>(V)) { if (!isa<Instruction>(V)) {
assert((isa<Constant>(V) || isa<BasicBlock>(V) || assert(isa<Constant>(V) || isa<BasicBlock>(V) || isa<Argument>(V) &&
isa<Argument>(V) || isa<GlobalValue>(V)) && "Unrecognized value type for InstForest Partition!");
"Unrecognized value type for InstForest Partition!");
if (isa<Constant>(V)) if (isa<Constant>(V))
this->getTreeData().first.second = ConstNode; if (isa<GlobalValue>(V))
this->getTreeData().first.second = TemporaryNode;
else
this->getTreeData().first.second = ConstNode;
else if (isa<BasicBlock>(V)) else if (isa<BasicBlock>(V))
this->getTreeData().first.second = BasicBlockNode; this->getTreeData().first.second = BasicBlockNode;
else else