Skip to content

Commit 9952acf

Browse files
authored
Fix coverity issues (#2680)
For Triton as well: triton-lang/triton#5118 Signed-off-by: Anatoly Myachev <[email protected]>
1 parent 057d82c commit 9952acf

File tree

3 files changed

+32
-21
lines changed

3 files changed

+32
-21
lines changed

third_party/intel/lib/Analysis/Allocation.cpp

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -53,10 +53,10 @@ getCvtOrder(Attribute srcLayout, Attribute dstLayout) {
5353

5454
// mma or dot layout does not have an order, so the order depends on the
5555
// layout of the other operand.
56-
auto inOrd = (srcMmaLayout || srcDotLayout) ? getOrder(dstLayout)
57-
: getOrder(srcLayout);
58-
auto outOrd = (dstMmaLayout || dstDotLayout) ? getOrder(srcLayout)
59-
: getOrder(dstLayout);
56+
const auto &inOrd = (srcMmaLayout || srcDotLayout) ? getOrder(dstLayout)
57+
: getOrder(srcLayout);
58+
const auto &outOrd = (dstMmaLayout || dstDotLayout) ? getOrder(srcLayout)
59+
: getOrder(dstLayout);
6060

6161
return {inOrd, outOrd};
6262
}
@@ -368,7 +368,7 @@ class AllocationAnalysis {
368368
/// arguments are involved.
369369
void resolveAliasBufferLiveness(
370370
function_ref<Interval<size_t>(Value value)> getLiveness) {
371-
for (auto aliasBufferIter : allocation->getAliasBuffer()) {
371+
for (const auto &aliasBufferIter : allocation->getAliasBuffer()) {
372372
auto value = aliasBufferIter.first;
373373
auto buffers = aliasBufferIter.second;
374374
auto range = getLiveness(value);
@@ -508,7 +508,7 @@ class AllocationAnalysis {
508508
std::find_if(xBuffers.begin(), xBuffers.end(), [&](auto *buffer) {
509509
auto xRange = bufferRange[buffer];
510510
bool res = xRange.intersects(range);
511-
for (auto val : tripleMap)
511+
for (const auto &val : tripleMap)
512512
res = res &&
513513
!val.second.intersects(xRange); // only one buffer intersect
514514
return res;

third_party/intel/lib/Analysis/AxisInfo.cpp

Lines changed: 24 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -123,7 +123,8 @@ class BinaryOpVisitorImpl : public AxisInfoVisitorImpl<OpTy> {
123123
divisibility.push_back(getDivisibility(op, lhsInfo, rhsInfo, d));
124124
}
125125
}
126-
return AxisInfo(contiguity, divisibility, constancy, constantValue);
126+
return AxisInfo(std::move(contiguity), std::move(divisibility),
127+
std::move(constancy), constantValue);
127128
}
128129

129130
protected:
@@ -543,7 +544,8 @@ class SplatOpAxisInfoVisitor final
543544
divisibility.push_back(opInfo.getDivisibility(0));
544545
constancy.push_back(retTy.getShape()[d]);
545546
}
546-
return AxisInfo(contiguity, divisibility, constancy,
547+
return AxisInfo(std::move(contiguity), std::move(divisibility),
548+
std::move(constancy),
547549
operands[0]->getValue().getConstantValue());
548550
}
549551
};
@@ -574,7 +576,8 @@ class LoadOpAxisInfoVisitor final : public AxisInfoVisitorImpl<triton::LoadOp> {
574576
maskInfo.has_value() ? maskInfo->getConstancy(d) : 0));
575577
}
576578

577-
return AxisInfo(contiguity, divisibility, constancy);
579+
return AxisInfo(std::move(contiguity), std::move(divisibility),
580+
std::move(constancy));
578581
}
579582
};
580583

@@ -608,7 +611,8 @@ class ExpandDimsOpAxisInfoVisitor final
608611
contiguity.insert(contiguity.begin() + op.getAxis(), 1);
609612
divisibility.insert(divisibility.begin() + op.getAxis(), newDivisibility);
610613
constancy.insert(constancy.begin() + op.getAxis(), 1);
611-
return AxisInfo(contiguity, divisibility, constancy,
614+
return AxisInfo(std::move(contiguity), std::move(divisibility),
615+
std::move(constancy),
612616
operands[0]->getValue().getConstantValue());
613617
}
614618
};
@@ -637,7 +641,8 @@ class BroadcastOpAxisInfoVisitor final
637641
constancy.push_back(opShape[d] == 1 ? retShape[d]
638642
: opInfo.getConstancy(d));
639643
}
640-
return AxisInfo(contiguity, divisibility, constancy,
644+
return AxisInfo(std::move(contiguity), std::move(divisibility),
645+
std::move(constancy),
641646
operands[0]->getValue().getConstantValue());
642647
}
643648
};
@@ -712,7 +717,8 @@ class CmpOpAxisInfoVisitor final : public AxisInfoVisitorImpl<OpTy> {
712717
contiguity.push_back(1);
713718
}
714719

715-
return AxisInfo(contiguity, divisibility, constancy, constantValue);
720+
return AxisInfo(std::move(contiguity), std::move(divisibility),
721+
std::move(constancy), constantValue);
716722
}
717723

718724
private:
@@ -840,7 +846,8 @@ class SelectOpAxisInfoVisitor final : public AxisInfoVisitorImpl<OpTy> {
840846
constantValue = lhsInfo.getConstantValue();
841847
}
842848

843-
return AxisInfo(contiguity, divisibility, constancy, constantValue);
849+
return AxisInfo(std::move(contiguity), std::move(divisibility),
850+
std::move(constancy), constantValue);
844851
}
845852
};
846853

@@ -993,7 +1000,8 @@ class MaxMinOpAxisInfoVisitor final : public AxisInfoVisitorImpl<OpTy> {
9931000
contiguity.push_back(
9941001
std::min(lhsInfo.getContiguity(d), rhsInfo.getContiguity(d)));
9951002
}
996-
return AxisInfo(contiguity, divisibility, constancy, std::nullopt);
1003+
return AxisInfo(std::move(contiguity), std::move(divisibility),
1004+
std::move(constancy), std::nullopt);
9971005
}
9981006
}
9991007
};
@@ -1038,7 +1046,8 @@ class MakeTensorPtrOpAxisInfoVisitor final
10381046
constancy.push_back(1);
10391047
}
10401048

1041-
auto axisInfo = AxisInfo(contiguity, divisibility, constancy);
1049+
auto axisInfo = AxisInfo(std::move(contiguity), std::move(divisibility),
1050+
std::move(constancy));
10421051

10431052
LLVM_DEBUG({
10441053
std::string axisStr;
@@ -1143,8 +1152,8 @@ LogicalResult AxisInfoAnalysis::visitOperation(
11431152
auto vals = cast<DenseElementsAttr>(attr).getValues<int>();
11441153
newConstancy = AxisInfo::DimVectorT(vals.begin(), vals.end());
11451154
}
1146-
curr = AxisInfo(newContiguity, newDivisibility, newConstancy,
1147-
curr.getConstantValue());
1155+
curr = AxisInfo(std::move(newContiguity), std::move(newDivisibility),
1156+
std::move(newConstancy), curr.getConstantValue());
11481157
// join all lattice elements
11491158
for (auto *result : results)
11501159
propagateIfChanged(result, result->join(curr));
@@ -1154,17 +1163,18 @@ LogicalResult AxisInfoAnalysis::visitOperation(
11541163
void AxisInfoAnalysis::visitForOpInductionVar(
11551164
scf::ForOp op, ArrayRef<dataflow::Lattice<AxisInfo> *> argLattices) {
11561165
ProgramPoint programPoint(op);
1157-
const auto lb =
1166+
const auto &lb =
11581167
getLatticeElementFor(&programPoint, op.getLowerBound())->getValue();
1159-
const auto step =
1168+
const auto &step =
11601169
getLatticeElementFor(&programPoint, op.getStep())->getValue();
11611170

11621171
AxisInfo::DimVectorT knownContiguity(1, 1);
11631172
AxisInfo::DimVectorT knownDivisibility(1, 1);
11641173
AxisInfo::DimVectorT knownConstancy(1, 1);
11651174
knownDivisibility[0] = gcd(lb.getDivisibility(0), step.getDivisibility(0));
11661175
auto inductionVar =
1167-
AxisInfo(knownContiguity, knownDivisibility, knownConstancy);
1176+
AxisInfo(std::move(knownContiguity), std::move(knownDivisibility),
1177+
std::move(knownConstancy));
11681178
(void)argLattices[0]->join(inductionVar);
11691179
}
11701180

third_party/intel/lib/TritonIntelGPUToLLVM/ConvertLayoutOpToLLVM/SharedToDotOperandDPAS.cpp

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,8 @@ template <unsigned opIdx> class DpasMatmulLoader {
2020
ConversionPatternRewriter &rewriter,
2121
const LLVMTypeConverter *typeConverter, Location loc)
2222
: dpasLayout(dpasLayout), descTy(descTy), smemStrides(smemStrides),
23-
multiDimWarpId(multiDimWarpId), rewriter(rewriter), loc(loc) {
23+
multiDimWarpId(std::move(multiDimWarpId)), rewriter(rewriter),
24+
loc(loc) {
2425
static_assert(opIdx == 0 || opIdx == 1);
2526

2627
size_t rank = warpShape.size();

0 commit comments

Comments
 (0)