[PATCH] D148916: [Support][Parallel] Initialize threadIndex and add assertion checking its usage.
Chris Lattner via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Tue Apr 25 15:29:39 PDT 2023
lattner added a comment.
It isn't just the function pass manager:
~/Projects/circt> grep -i -r parallel lib (trimmed):
lib/Transforms/StripDebugInfoWithPred.cpp: parallelForEach(
lib/Conversion/ExportVerilog/ExportVerilog.cpp: parallelForEach(context, thingsToEmit, [&](StringOrOpToEmit &stringOrOp) {
lib/Conversion/ExportVerilog/ExportVerilog.cpp: if (failed(failableParallelForEach(
lib/Conversion/ExportVerilog/ExportVerilog.cpp: emitter.emitOps(list, output->os(), /*parallelize=*/false);
lib/Conversion/ExportVerilog/ExportVerilog.cpp: // Emit each file in parallel if context enables it.
lib/Conversion/ExportVerilog/ExportVerilog.cpp: parallelForEach(module->getContext(), emitter.files.begin(),
lib/Conversion/ExportVerilog/ExportVerilog.cpp: if (failed(failableParallelForEach(
lib/Conversion/ExportVerilog/LegalizeNames.cpp: mlir::parallelForEach(
lib/Conversion/FIRRTLToHW/LowerToHW.cpp: memories = llvm::parallelTransformReduce(
lib/Conversion/FIRRTLToHW/LowerToHW.cpp: auto result = mlir::failableParallelForEachN(
lib/Dialect/HW/InnerSymbolTable.cpp: return mlir::failableParallelForEach(
lib/Dialect/HW/InnerSymbolTable.cpp: return mlir::failableParallelForEach(
lib/Dialect/FIRRTL/Transforms/IMDeadCodeElim.cpp: mlir::parallelForEach(circuit.getContext(),
lib/Dialect/FIRRTL/Transforms/IMConstProp.cpp: mlir::parallelForEach(circuit.getContext(),
lib/Dialect/FIRRTL/Transforms/VBToBV.cpp: failableParallelForEach(&getContext(), modules, [&](FModuleOp module) {
lib/Dialect/FIRRTL/Transforms/InnerSymbolDCE.cpp: parallelForEach(&getContext(), modules,
lib/Dialect/FIRRTL/Transforms/LowerTypes.cpp: auto result = failableParallelForEach(&getContext(), ops, lowerModules);
lib/Dialect/FIRRTL/Transforms/MemToRegOfVec.cpp: mlir::parallelForEach(circtOp.getContext(), dutModuleSet,
lib/Dialect/FIRRTL/Import/FIRParser.cpp: auto anyFailed = mlir::failableParallelForEachN(
simialrly the MLIR inliner and verifier and passmgr have things like:
./mlir/lib/Pass/Pass.cpp: if (failed(failableParallelForEach(context, opInfos, processFn)))
./mlir/lib/IR/Verifier.cpp: if (failed(failableParallelForEach(
./mlir/lib/Transforms/Inliner.cpp: return failableParallelForEach(ctx, nodesToVisit, [&](CallGraphNode *node) {
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D148916/new/
https://reviews.llvm.org/D148916
More information about the llvm-commits
mailing list