aboutsummaryrefslogtreecommitdiff
path: root/contrib/llvm-project/llvm/lib/Support/Parallel.cpp
diff options
context:
space:
mode:
authorDimitry Andric <dim@FreeBSD.org>2022-07-04 19:20:19 +0000
committerDimitry Andric <dim@FreeBSD.org>2023-02-08 19:02:26 +0000
commit81ad626541db97eb356e2c1d4a20eb2a26a766ab (patch)
tree311b6a8987c32b1e1dcbab65c54cfac3fdb56175 /contrib/llvm-project/llvm/lib/Support/Parallel.cpp
parent5fff09660e06a66bed6482da9c70df328e16bbb6 (diff)
parent145449b1e420787bb99721a429341fa6be3adfb6 (diff)
Diffstat (limited to 'contrib/llvm-project/llvm/lib/Support/Parallel.cpp')
-rw-r--r--contrib/llvm-project/llvm/lib/Support/Parallel.cpp10
1 files changed, 5 insertions, 5 deletions
diff --git a/contrib/llvm-project/llvm/lib/Support/Parallel.cpp b/contrib/llvm-project/llvm/lib/Support/Parallel.cpp
index 4977c188f934..798d7124e7e9 100644
--- a/contrib/llvm-project/llvm/lib/Support/Parallel.cpp
+++ b/contrib/llvm-project/llvm/lib/Support/Parallel.cpp
@@ -89,7 +89,7 @@ public:
void add(std::function<void()> F) override {
{
std::lock_guard<std::mutex> Lock(Mutex);
- WorkStack.push(F);
+ WorkStack.push(std::move(F));
}
Cond.notify_one();
}
@@ -102,7 +102,7 @@ private:
Cond.wait(Lock, [&] { return Stop || !WorkStack.empty(); });
if (Stop)
break;
- auto Task = WorkStack.top();
+ auto Task = std::move(WorkStack.top());
WorkStack.pop();
Lock.unlock();
Task();
@@ -161,7 +161,7 @@ TaskGroup::~TaskGroup() {
void TaskGroup::spawn(std::function<void()> F) {
if (Parallel) {
L.inc();
- Executor::getDefaultExecutor()->add([&, F] {
+ Executor::getDefaultExecutor()->add([&, F = std::move(F)] {
F();
L.dec();
});
@@ -175,8 +175,8 @@ void TaskGroup::spawn(std::function<void()> F) {
} // namespace llvm
#endif // LLVM_ENABLE_THREADS
-void llvm::parallelForEachN(size_t Begin, size_t End,
- llvm::function_ref<void(size_t)> Fn) {
+void llvm::parallelFor(size_t Begin, size_t End,
+ llvm::function_ref<void(size_t)> Fn) {
// If we have zero or one items, then do not incur the overhead of spinning up
// a task group. They are surprisingly expensive, and because they do not
// support nested parallelism, a single entry task group can block parallel