@@ -1632,7 +1632,6 @@ bool llvm::canConstantFoldCallTo(const CallBase *Call, const Function *F) {
1632
1632
case Intrinsic::sqrt :
1633
1633
case Intrinsic::sin :
1634
1634
case Intrinsic::cos :
1635
- case Intrinsic::sincos:
1636
1635
case Intrinsic::pow :
1637
1636
case Intrinsic::powi:
1638
1637
case Intrinsic::ldexp :
@@ -3535,40 +3534,6 @@ ConstantFoldStructCall(StringRef Name, Intrinsic::ID IntrinsicID,
3535
3534
return nullptr ;
3536
3535
return ConstantStruct::get (StTy, Result0, Result1);
3537
3536
}
3538
- case Intrinsic::sincos: {
3539
- Type *Ty = StTy->getContainedType (0 );
3540
- Type *TyScalar = Ty->getScalarType ();
3541
-
3542
- auto ConstantFoldScalarSincosCall =
3543
- [&](Constant *Op) -> std::pair<Constant *, Constant *> {
3544
- Constant *SinResult =
3545
- ConstantFoldScalarCall (Name, Intrinsic::sin , TyScalar, Op, TLI, Call);
3546
- Constant *CosResult =
3547
- ConstantFoldScalarCall (Name, Intrinsic::cos , TyScalar, Op, TLI, Call);
3548
- return std::make_pair (SinResult, CosResult);
3549
- };
3550
-
3551
- if (auto *FVTy = dyn_cast<FixedVectorType>(Ty)) {
3552
- SmallVector<Constant *> SinResults (FVTy->getNumElements ());
3553
- SmallVector<Constant *> CosResults (FVTy->getNumElements ());
3554
-
3555
- for (unsigned I = 0 , E = FVTy->getNumElements (); I != E; ++I) {
3556
- Constant *Lane = Operands[0 ]->getAggregateElement (I);
3557
- std::tie (SinResults[I], CosResults[I]) =
3558
- ConstantFoldScalarSincosCall (Lane);
3559
- if (!SinResults[I] || !CosResults[I])
3560
- return nullptr ;
3561
- }
3562
-
3563
- return ConstantStruct::get (StTy, ConstantVector::get (SinResults),
3564
- ConstantVector::get (CosResults));
3565
- }
3566
-
3567
- auto [SinResult, CosResult] = ConstantFoldScalarSincosCall (Operands[0 ]);
3568
- if (!SinResult || !CosResult)
3569
- return nullptr ;
3570
- return ConstantStruct::get (StTy, SinResult, CosResult);
3571
- }
3572
3537
default :
3573
3538
// TODO: Constant folding of vector intrinsics that fall through here does
3574
3539
// not work (e.g. overflow intrinsics)
0 commit comments