void Processor::Process() { static const size_t hc = std::max(1U, std::thread::hardware_concurrency()); std::vector<std::thread> threads(hc - 1); for (auto & t : threads) { t = std::thread([this] { ProcessImpl(); }); } ProcessImpl(); for (auto & t : threads) { t.join(); } }
Pass::Status LocalSingleBlockLoadStoreElimPass::Process() { Initialize(); return ProcessImpl(); }
Pass::Status LocalAccessChainConvertPass::Process() { Initialize(); return ProcessImpl(); }
Pass::Status CommonUniformElimPass::Process(ir::Module* module) { Initialize(module); return ProcessImpl(); }
Pass::Status AggressiveDCEPass::Process() { // Initialize extensions whitelist InitExtensions(); return ProcessImpl(); }
Pass::Status LocalAccessChainConvertPass::Process(ir::Module* module) { Initialize(module); return ProcessImpl(); }