bug 122:
authorReid Spencer <rspencer@reidspencer.com>
Sat, 17 Jul 2004 23:36:58 +0000 (23:36 +0000)
committerReid Spencer <rspencer@reidspencer.com>
Sat, 17 Jul 2004 23:36:58 +0000 (23:36 +0000)
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

include/llvm/Analysis/InstForest.h

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