[C++11] Remove the completely unnecessary requirement on SetVector's
authorChandler Carruth <chandlerc@gmail.com>
Mon, 3 Mar 2014 19:28:52 +0000 (19:28 +0000)
committerChandler Carruth <chandlerc@gmail.com>
Mon, 3 Mar 2014 19:28:52 +0000 (19:28 +0000)
commit0550e93e89b20192b90dc1e886fed1f1bafd45e6
treebdce29f7dbcb680f28d83bf604fe27298b5a0591
parent6f8c0c061331324faef1fdb6e39724045fc7a140
[C++11] Remove the completely unnecessary requirement on SetVector's
remove_if that its predicate is adaptable. We don't actually need this,
we can write a generic adapter for any predicate.

This lets us remove some very wrong std::function usages. We should
never be using std::function for predicates to algorithms. This incurs
an *indirect* call overhead for every evaluation of the predicate, and
makes it very hard to inline through.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@202742 91177308-0d34-0410-b5e6-96231b3b80d8
include/llvm/ADT/SetVector.h
lib/Transforms/Scalar/DeadStoreElimination.cpp
lib/Transforms/Scalar/SROA.cpp