OSDN Git Service

Revert "[GVNSink] Remove dependency on SmallPtrSet iteration order."
authorDaniel Berlin <dberlin@dberlin.org>
Wed, 20 Sep 2017 00:07:25 +0000 (00:07 +0000)
committerDaniel Berlin <dberlin@dberlin.org>
Wed, 20 Sep 2017 00:07:25 +0000 (00:07 +0000)
This reverts commit r312156, because now the op and block arrays are not in the same order :(.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@313701 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Transforms/Scalar/GVNSink.cpp

index 1eda0f3..5fd2dfc 100644 (file)
@@ -229,14 +229,12 @@ public:
   ModelledPHI(const VArray &V, const BArray &B) {
     std::copy(V.begin(), V.end(), std::back_inserter(Values));
     std::copy(B.begin(), B.end(), std::back_inserter(Blocks));
-    std::sort(Blocks.begin(), Blocks.end());
   }
 
   /// Create a PHI from [I[OpNum] for I in Insts].
   template <typename BArray>
   ModelledPHI(ArrayRef<Instruction *> Insts, unsigned OpNum, const BArray &B) {
     std::copy(B.begin(), B.end(), std::back_inserter(Blocks));
-    std::sort(Blocks.begin(), Blocks.end());
     for (auto *I : Insts)
       Values.push_back(I->getOperand(OpNum));
   }