OSDN Git Service

Modify the algorithm when traversing the DAGCombiner's worklist to be O(log N) for...
authorJames Molloy <james.molloy@arm.com>
Thu, 16 Feb 2012 09:17:04 +0000 (09:17 +0000)
committerJames Molloy <james.molloy@arm.com>
Thu, 16 Feb 2012 09:17:04 +0000 (09:17 +0000)
commit6660c05da33a93a011977454239cead97c3ff579
tree15e1feebb24fa7f838fa54ed5a01aea2d8353cf2
parent22bed5db2f34a5b351e133d24603d12f45e96e44
Modify the algorithm when traversing the DAGCombiner's worklist to be O(log N) for all operations. This fixes a horrible worst case with lots of nodes where 99% of the time was being spent in std::remove.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@150669 91177308-0d34-0410-b5e6-96231b3b80d8
lib/CodeGen/SelectionDAG/DAGCombiner.cpp