@@ -51,22 +51,22 @@ WarpExecuteOnLane0Op
5151WarpDistributionPattern::moveRegionToNewWarpOpAndAppendReturns (
5252 RewriterBase &rewriter, WarpExecuteOnLane0Op warpOp,
5353 ValueRange newYieldedValues, TypeRange newReturnTypes,
54- llvm:: SmallVector<size_t > &indices) const {
54+ SmallVector<size_t > &indices) const {
5555 SmallVector<Type> types (warpOp.getResultTypes ().begin (),
5656 warpOp.getResultTypes ().end ());
5757 auto yield = cast<gpu::YieldOp>(
5858 warpOp.getBodyRegion ().getBlocks ().begin ()->getTerminator ());
5959 llvm::SmallSetVector<Value, 32 > yieldValues (yield.getOperands ().begin (),
6060 yield.getOperands ().end ());
61- for (auto newRet : llvm::zip (newYieldedValues, newReturnTypes)) {
62- if (yieldValues.insert (std::get< 0 >(newRet) )) {
63- types.push_back (std::get< 1 >(newRet) );
61+ for (auto [value, type] : llvm::zip_equal (newYieldedValues, newReturnTypes)) {
62+ if (yieldValues.insert (value )) {
63+ types.push_back (type );
6464 indices.push_back (yieldValues.size () - 1 );
6565 } else {
6666 // If the value already exit the region don't create a new output.
6767 for (auto [idx, yieldOperand] :
6868 llvm::enumerate (yieldValues.getArrayRef ())) {
69- if (yieldOperand == std::get< 0 >(newRet) ) {
69+ if (yieldOperand == value ) {
7070 indices.push_back (idx);
7171 break ;
7272 }
@@ -83,7 +83,7 @@ WarpDistributionPattern::moveRegionToNewWarpOpAndAppendReturns(
8383
8484OpOperand *WarpDistributionPattern::getWarpResult (
8585 WarpExecuteOnLane0Op warpOp,
86- const std::function <bool (Operation *)> & fn) const {
86+ const llvm::function_ref <bool (Operation *)> fn) const {
8787 auto yield = cast<gpu::YieldOp>(
8888 warpOp.getBodyRegion ().getBlocks ().begin ()->getTerminator ());
8989 for (OpOperand &yieldOperand : yield->getOpOperands ()) {
@@ -94,7 +94,7 @@ OpOperand *WarpDistributionPattern::getWarpResult(
9494 return &yieldOperand;
9595 }
9696 }
97- return {} ;
97+ return nullptr ;
9898}
9999
100100bool WarpDistributionPattern::delinearizeLaneId (
0 commit comments