Lines Matching refs:Split
540 VectorSplit Split; in getVectorSplit() local
541 Split.VecTy = dyn_cast<FixedVectorType>(Ty); in getVectorSplit()
542 if (!Split.VecTy) in getVectorSplit()
545 unsigned NumElems = Split.VecTy->getNumElements(); in getVectorSplit()
546 Type *ElemTy = Split.VecTy->getElementType(); in getVectorSplit()
550 Split.NumPacked = 1; in getVectorSplit()
551 Split.NumFragments = NumElems; in getVectorSplit()
552 Split.SplitTy = ElemTy; in getVectorSplit()
554 Split.NumPacked = ScalarizeMinBits / ElemTy->getScalarSizeInBits(); in getVectorSplit()
555 if (Split.NumPacked >= NumElems) in getVectorSplit()
558 Split.NumFragments = divideCeil(NumElems, Split.NumPacked); in getVectorSplit()
559 Split.SplitTy = FixedVectorType::get(ElemTy, Split.NumPacked); in getVectorSplit()
561 unsigned RemainderElems = NumElems % Split.NumPacked; in getVectorSplit()
563 Split.RemainderTy = FixedVectorType::get(ElemTy, RemainderElems); in getVectorSplit()
565 Split.RemainderTy = ElemTy; in getVectorSplit()
568 return Split; in getVectorSplit()
595 bool ScalarizerVisitor::splitUnary(Instruction &I, const Splitter &Split) { in splitUnary() argument
615 Res[Frag] = Split(Builder, Op[Frag], I.getName() + ".i" + Twine(Frag)); in splitUnary()
623 bool ScalarizerVisitor::splitBinary(Instruction &I, const Splitter &Split) { in splitBinary() argument
647 Res[Frag] = Split(Builder, Op0, Op1, I.getName() + ".i" + Twine(Frag)); in splitBinary()