Lines Matching refs:loopIdx
342 using LoopNestBuilder = std::function<LoopBodyBuilder(size_t loopIdx)>; in createParallelComputeFunction()
373 LoopNestBuilder workLoopBuilder = [&](size_t loopIdx) -> LoopBodyBuilder { in createParallelComputeFunction() argument
374 return [&, loopIdx](OpBuilder &nestedBuilder, Location loc, Value iv, in createParallelComputeFunction()
379 computeBlockInductionVars[loopIdx] = b.create<arith::AddIOp>( in createParallelComputeFunction()
380 lowerBounds[loopIdx], b.create<arith::MulIOp>(iv, steps[loopIdx])); in createParallelComputeFunction()
383 isBlockFirstCoord[loopIdx] = b.create<arith::CmpIOp>( in createParallelComputeFunction()
384 arith::CmpIPredicate::eq, iv, blockFirstCoord[loopIdx]); in createParallelComputeFunction()
385 isBlockLastCoord[loopIdx] = b.create<arith::CmpIOp>( in createParallelComputeFunction()
386 arith::CmpIPredicate::eq, iv, blockLastCoord[loopIdx]); in createParallelComputeFunction()
389 if (loopIdx > 0) { in createParallelComputeFunction()
390 isBlockFirstCoord[loopIdx] = b.create<arith::AndIOp>( in createParallelComputeFunction()
391 isBlockFirstCoord[loopIdx], isBlockFirstCoord[loopIdx - 1]); in createParallelComputeFunction()
392 isBlockLastCoord[loopIdx] = b.create<arith::AndIOp>( in createParallelComputeFunction()
393 isBlockLastCoord[loopIdx], isBlockLastCoord[loopIdx - 1]); in createParallelComputeFunction()
397 if (loopIdx < op.getNumLoops() - 1) { in createParallelComputeFunction()
398 if (loopIdx + 1 >= op.getNumLoops() - numBlockAlignedInnerLoops) { in createParallelComputeFunction()
401 b.create<scf::ForOp>(c0, tripCounts[loopIdx + 1], c1, ValueRange(), in createParallelComputeFunction()
402 workLoopBuilder(loopIdx + 1)); in createParallelComputeFunction()
407 auto lb = b.create<arith::SelectOp>(isBlockFirstCoord[loopIdx], in createParallelComputeFunction()
408 blockFirstCoord[loopIdx + 1], c0); in createParallelComputeFunction()
410 auto ub = b.create<arith::SelectOp>(isBlockLastCoord[loopIdx], in createParallelComputeFunction()
411 blockEndCoord[loopIdx + 1], in createParallelComputeFunction()
412 tripCounts[loopIdx + 1]); in createParallelComputeFunction()
415 workLoopBuilder(loopIdx + 1)); in createParallelComputeFunction()