Skip to content

Commit 2111a4a

Browse files
MrSidimssys-ce-bb
authored andcommitted
W/A GCC maybe-uninitialized warning (#2588)
Signed-off-by: Sidorov, Dmitry <[email protected]> Original commit: KhronosGroup/SPIRV-LLVM-Translator@0fd9882186c73e1
1 parent 7325e1c commit 2111a4a

File tree

1 file changed

+15
-10
lines changed

1 file changed

+15
-10
lines changed

llvm-spirv/lib/SPIRV/SPIRVWriter.cpp

Lines changed: 15 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -4443,17 +4443,22 @@ SPIRVValue *LLVMToSPIRVBase::transIntrinsicInst(IntrinsicInst *II,
44434443
SPIRVValue *StartingSVal = transValue(II->getArgOperand(0), BB);
44444444
SPIRVTypeInt *I32STy = BM->addIntegerType(32);
44454445
unsigned VecSize = VecTy->getElementCount().getFixedValue();
4446-
SmallVector<SPIRVValue *, 16> Extracts(VecSize);
4447-
for (unsigned Idx = 0; Idx < VecSize; ++Idx) {
4448-
Extracts[Idx] = BM->addVectorExtractDynamicInst(
4449-
VecSVal, BM->addIntegerConstant(I32STy, Idx), BB);
4450-
}
4451-
SPIRVValue *V = BM->addBinaryInst(Op, StartingSVal->getType(), StartingSVal,
4452-
Extracts[0], BB);
4453-
for (unsigned Idx = 1; Idx < VecSize; ++Idx) {
4454-
V = BM->addBinaryInst(Op, StartingSVal->getType(), V, Extracts[Idx], BB);
4446+
if (VecSize > 0) {
4447+
SmallVector<SPIRVValue *, 16> Extracts(VecSize);
4448+
for (unsigned Idx = 0; Idx < VecSize; ++Idx) {
4449+
Extracts[Idx] = BM->addVectorExtractDynamicInst(
4450+
VecSVal, BM->addIntegerConstant(I32STy, Idx), BB);
4451+
}
4452+
SPIRVValue *V = BM->addBinaryInst(Op, StartingSVal->getType(),
4453+
StartingSVal, Extracts[0], BB);
4454+
for (unsigned Idx = 1; Idx < VecSize; ++Idx) {
4455+
V = BM->addBinaryInst(Op, StartingSVal->getType(), V, Extracts[Idx],
4456+
BB);
4457+
}
4458+
return V;
44554459
}
4456-
return V;
4460+
assert(VecSize && "Zero Extracts size for vector reduce lowering");
4461+
return nullptr;
44574462
}
44584463
case Intrinsic::vector_reduce_smax:
44594464
case Intrinsic::vector_reduce_smin:

0 commit comments

Comments
 (0)