Skip to content

Commit 88887df

Browse files
committed
Fixups
1 parent 6d94301 commit 88887df

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
@@ -3475,24 +3475,20 @@ ConstantFoldStructCall(StringRef Name, Intrinsic::ID IntrinsicID,
34753475
[&](Constant *Op) -> std::pair<Constant *, Constant *> {
34763476
Constant *SinResult =
34773477
ConstantFoldScalarCall(Name, Intrinsic::sin, TyScalar, Op, TLI, Call);
3478-
if (!SinResult)
3479-
return {};
34803478
Constant *CosResult =
34813479
ConstantFoldScalarCall(Name, Intrinsic::cos, TyScalar, Op, TLI, Call);
3482-
if (!CosResult)
3483-
return {};
34843480
return std::make_pair(SinResult, CosResult);
34853481
};
34863482

34873483
if (auto *FVTy = dyn_cast<FixedVectorType>(Ty)) {
3488-
SmallVector<Constant *, 4> SinResults(FVTy->getNumElements());
3489-
SmallVector<Constant *, 4> CosResults(FVTy->getNumElements());
3484+
SmallVector<Constant *> SinResults(FVTy->getNumElements());
3485+
SmallVector<Constant *> CosResults(FVTy->getNumElements());
34903486

34913487
for (unsigned I = 0, E = FVTy->getNumElements(); I != E; ++I) {
34923488
Constant *Lane = Operands[0]->getAggregateElement(I);
34933489
std::tie(SinResults[I], CosResults[I]) =
34943490
ConstantFoldScalarSincosCall(Lane);
3495-
if (!SinResults[I])
3491+
if (!SinResults[I] || !CosResults[I])
34963492
return nullptr;
34973493
}
34983494

@@ -3501,7 +3497,7 @@ ConstantFoldStructCall(StringRef Name, Intrinsic::ID IntrinsicID,
35013497
}
35023498

35033499
auto [SinResult, CosResult] = ConstantFoldScalarSincosCall(Operands[0]);
3504-
if (!SinResult)
3500+
if (!SinResult || !CosResult)
35053501
return nullptr;
35063502
return ConstantStruct::get(StTy, SinResult, CosResult);
35073503
}

0 commit comments

Comments
 (0)