Skip to content

Commit c4aa67e

Browse files
authored
Revert "[InstSimplify] Add basic constant folding for llvm.sincos" (#119149)
Reverts #114527 Reverting due to buildbot failures (e.g. https://lab.llvm.org/buildbot/#/builders/180/builds/9685)
1 parent 855bc46 commit c4aa67e

File tree

2 files changed

+0
-183
lines changed

2 files changed

+0
-183
lines changed

llvm/lib/Analysis/ConstantFolding.cpp

Lines changed: 0 additions & 35 deletions
Original file line numberDiff line numberDiff line change
@@ -1632,7 +1632,6 @@ bool llvm::canConstantFoldCallTo(const CallBase *Call, const Function *F) {
16321632
case Intrinsic::sqrt:
16331633
case Intrinsic::sin:
16341634
case Intrinsic::cos:
1635-
case Intrinsic::sincos:
16361635
case Intrinsic::pow:
16371636
case Intrinsic::powi:
16381637
case Intrinsic::ldexp:
@@ -3535,40 +3534,6 @@ ConstantFoldStructCall(StringRef Name, Intrinsic::ID IntrinsicID,
35353534
return nullptr;
35363535
return ConstantStruct::get(StTy, Result0, Result1);
35373536
}
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-
}
35723537
default:
35733538
// TODO: Constant folding of vector intrinsics that fall through here does
35743539
// not work (e.g. overflow intrinsics)

llvm/test/Transforms/InstSimplify/sincos.ll

Lines changed: 0 additions & 148 deletions
This file was deleted.

0 commit comments

Comments
 (0)