[Mlir-commits] [mlir] [mlir][gpu] Add innermost-first policy when mapping loops to GPU IDs (PR #160634)
Fabian Mora
llvmlistbot at llvm.org
Thu Sep 25 04:28:13 PDT 2025
================
@@ -129,16 +158,30 @@ static void mapParallelOp(ParallelOp parallelOp,
// walk but just iterate over the operations.
for (Operation &op : *parallelOp.getBody()) {
if (ParallelOp nested = dyn_cast<ParallelOp>(op))
- mapParallelOp(nested, mappingLevel);
+ mapParallelOp(nested, mappingLevel, mappingPolicy);
}
}
namespace {
struct GpuMapParallelLoopsPass
: public impl::GpuMapParallelLoopsPassBase<GpuMapParallelLoopsPass> {
+ using Base::Base;
+
void runOnOperation() override {
+ // Parse the mapping policy.
+ auto policyOrFailure = getMappingPolicyFromStr(mappingPolicyStr);
+ if (failed(policyOrFailure)) {
+ getOperation()->emitError() << "Invalid mapping policy specified.";
+ return signalPassFailure();
+ }
+
+ auto policy = *policyOrFailure;
----------------
fabianmcg wrote:
Don't use auto.
https://github.com/llvm/llvm-project/pull/160634
More information about the Mlir-commits
mailing list