@@ -1333,36 +1333,31 @@ Value *llvm::createSimpleReduction(IRBuilderBase &Builder, Value *Src,
13331333}
13341334
13351335Value *llvm::createSimpleReduction (VectorBuilder &VBuilder, Value *Src,
1336- const RecurrenceDescriptor &Desc) {
1337- RecurKind Kind = Desc.getRecurrenceKind ();
1336+ RecurKind Kind, FastMathFlags FMFs) {
13381337 assert (!RecurrenceDescriptor::isAnyOfRecurrenceKind (Kind) &&
13391338 !RecurrenceDescriptor::isFindLastIVRecurrenceKind (Kind) &&
13401339 " AnyOf or FindLastIV reductions are not supported." );
13411340 Intrinsic::ID Id = getReductionIntrinsicID (Kind);
13421341 auto *SrcTy = cast<VectorType>(Src->getType ());
13431342 Type *SrcEltTy = SrcTy->getElementType ();
1344- Value *Iden = getRecurrenceIdentity (Kind, SrcEltTy, Desc. getFastMathFlags () );
1343+ Value *Iden = getRecurrenceIdentity (Kind, SrcEltTy, FMFs );
13451344 Value *Ops[] = {Iden, Src};
13461345 return VBuilder.createSimpleReduction (Id, SrcTy, Ops);
13471346}
13481347
1349- Value *llvm::createOrderedReduction (IRBuilderBase &B,
1350- const RecurrenceDescriptor &Desc,
1348+ Value *llvm::createOrderedReduction (IRBuilderBase &B, RecurKind Kind,
13511349 Value *Src, Value *Start) {
1352- assert ((Desc.getRecurrenceKind () == RecurKind::FAdd ||
1353- Desc.getRecurrenceKind () == RecurKind::FMulAdd) &&
1350+ assert ((Kind == RecurKind::FAdd || Kind == RecurKind::FMulAdd) &&
13541351 " Unexpected reduction kind" );
13551352 assert (Src->getType ()->isVectorTy () && " Expected a vector type" );
13561353 assert (!Start->getType ()->isVectorTy () && " Expected a scalar type" );
13571354
13581355 return B.CreateFAddReduce (Start, Src);
13591356}
13601357
1361- Value *llvm::createOrderedReduction (VectorBuilder &VBuilder,
1362- const RecurrenceDescriptor &Desc,
1358+ Value *llvm::createOrderedReduction (VectorBuilder &VBuilder, RecurKind Kind,
13631359 Value *Src, Value *Start) {
1364- assert ((Desc.getRecurrenceKind () == RecurKind::FAdd ||
1365- Desc.getRecurrenceKind () == RecurKind::FMulAdd) &&
1360+ assert ((Kind == RecurKind::FAdd || Kind == RecurKind::FMulAdd) &&
13661361 " Unexpected reduction kind" );
13671362 assert (Src->getType ()->isVectorTy () && " Expected a vector type" );
13681363 assert (!Start->getType ()->isVectorTy () && " Expected a scalar type" );
0 commit comments