Skip to content

Commit 2536ea8

Browse files
committed
Fixups
1 parent 71ccb2f commit 2536ea8

File tree

1 file changed

+4
-8
lines changed

1 file changed

+4
-8
lines changed

llvm/lib/Analysis/ConstantFolding.cpp

Lines changed: 4 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -3543,24 +3543,20 @@ ConstantFoldStructCall(StringRef Name, Intrinsic::ID IntrinsicID,
35433543
[&](Constant *Op) -> std::pair<Constant *, Constant *> {
35443544
Constant *SinResult =
35453545
ConstantFoldScalarCall(Name, Intrinsic::sin, TyScalar, Op, TLI, Call);
3546-
if (!SinResult)
3547-
return {};
35483546
Constant *CosResult =
35493547
ConstantFoldScalarCall(Name, Intrinsic::cos, TyScalar, Op, TLI, Call);
3550-
if (!CosResult)
3551-
return {};
35523548
return std::make_pair(SinResult, CosResult);
35533549
};
35543550

35553551
if (auto *FVTy = dyn_cast<FixedVectorType>(Ty)) {
3556-
SmallVector<Constant *, 4> SinResults(FVTy->getNumElements());
3557-
SmallVector<Constant *, 4> CosResults(FVTy->getNumElements());
3552+
SmallVector<Constant *> SinResults(FVTy->getNumElements());
3553+
SmallVector<Constant *> CosResults(FVTy->getNumElements());
35583554

35593555
for (unsigned I = 0, E = FVTy->getNumElements(); I != E; ++I) {
35603556
Constant *Lane = Operands[0]->getAggregateElement(I);
35613557
std::tie(SinResults[I], CosResults[I]) =
35623558
ConstantFoldScalarSincosCall(Lane);
3563-
if (!SinResults[I])
3559+
if (!SinResults[I] || !CosResults[I])
35643560
return nullptr;
35653561
}
35663562

@@ -3569,7 +3565,7 @@ ConstantFoldStructCall(StringRef Name, Intrinsic::ID IntrinsicID,
35693565
}
35703566

35713567
auto [SinResult, CosResult] = ConstantFoldScalarSincosCall(Operands[0]);
3572-
if (!SinResult)
3568+
if (!SinResult || !CosResult)
35733569
return nullptr;
35743570
return ConstantStruct::get(StTy, SinResult, CosResult);
35753571
}

0 commit comments

Comments
 (0)