Index: include/lld/Core/Parallel.h =================================================================== --- include/lld/Core/Parallel.h +++ include/lld/Core/Parallel.h @@ -295,7 +295,12 @@ #else template void parallel_for_each(Iterator begin, Iterator end, Func func) { - // TODO: Make this parallel. + TaskGroup tg; + int64_t taskSize = 1024; + while (taskSize <= std::distance(begin, end)) { + tg.spawn([=, &func, &tg] { std::for_each(begin, begin + taskSize, func); }); + begin += taskSize; + } std::for_each(begin, end, func); } #endif