OSDN Git Service

Make MDNode::intersect faster than O(n * m)
authorDavid Majnemer <david.majnemer@gmail.com>
Tue, 16 Aug 2016 18:48:37 +0000 (18:48 +0000)
committerDavid Majnemer <david.majnemer@gmail.com>
Tue, 16 Aug 2016 18:48:37 +0000 (18:48 +0000)
commit662809578e63256e9b6fa65adbdfda5667d987e8
treec8e0056b061f8b7431a9d415be8aec0deb9edccd
parent9c509583cc5b98eeb0063533fbc2b4dc144cd1d6
Make MDNode::intersect faster than O(n * m)

It is pretty easy to get it down to O(nlogn + mlogm).  This
implementation has the added benefit of automatically deduplicating
entries between the two sets.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@278837 91177308-0d34-0410-b5e6-96231b3b80d8
lib/IR/Metadata.cpp
test/Transforms/LoopVersioningLICM/loopversioningLICM1.ll
test/Transforms/LoopVersioningLICM/loopversioningLICM2.ll