Index: include/lld/Core/Parallel.h =================================================================== --- include/lld/Core/Parallel.h +++ include/lld/Core/Parallel.h @@ -284,12 +284,8 @@ template void parallel_for_each(Iterator begin, Iterator end, Func func) { TaskGroup tg; - ptrdiff_t taskSize = 1024; - while (taskSize <= std::distance(begin, end)) { - tg.spawn([=, &func] { std::for_each(begin, begin + taskSize, func); }); - begin += taskSize; - } - std::for_each(begin, end, func); + for (; begin != end; ++begin) + tg.spawn([=, &func] { func(*begin); }); } #endif } // end namespace lld