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)
commit00940fb8544767ba5217922c4ba96677aabe9eb3
tree72737089d4e35dafc2ea24cd265d127995bfc32b
parentfa0f1e660b1ef34665e7683d8ac8f7dd581ab84b
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.

llvm-svn: 278837
llvm/lib/IR/Metadata.cpp
llvm/test/Transforms/LoopVersioningLICM/loopversioningLICM1.ll
llvm/test/Transforms/LoopVersioningLICM/loopversioningLICM2.ll