reference, declarationdefinition
definition → references, declarations, derived classes, virtual overrides
reference to multiple definitions → definitions
unreferenced

References

lib/Transforms/Vectorize/SLPVectorizer.cpp
 2908   ArrayRef<Value*> VL = E->Scalars;
 2923   unsigned ReuseShuffleNumbers = E->ReuseShuffleIndices.size();
 2924   bool NeedToShuffleReuses = !E->ReuseShuffleIndices.empty();
 2930   if (E->NeedToGather) {
 2937     if (E->getOpcode() == Instruction::ExtractElement &&
 2960   assert(E->getOpcode() && allSameType(VL) && allSameBlock(VL) && "Invalid VL");
 2961   Instruction *VL0 = E->getMainOp();
 2963       E->isAltShuffle() ? (unsigned)Instruction::ShuffleVector : E->getOpcode();
 2963       E->isAltShuffle() ? (unsigned)Instruction::ShuffleVector : E->getOpcode();
 2972         for (unsigned I : E->ReuseShuffleIndices) {
 2998       if (!E->NeedToGather) {
 3000         if (!E->ReorderIndices.empty()) {
 3049           TTI->getCastInstrCost(E->getOpcode(), ScalarTy, SrcTy, VL0);
 3062                   TTI->getCastInstrCost(E->getOpcode(), VecTy, SrcVecTy, VL0);
 3070       int ScalarEltCost = TTI->getCmpSelInstrCost(E->getOpcode(), ScalarTy,
 3077       int VecCost = TTI->getCmpSelInstrCost(E->getOpcode(), VecTy, MaskTy, VL0);
 3138           E->getOpcode(), ScalarTy, Op1VK, Op2VK, Op1VP, Op2VP, Operands);
 3143       int VecCost = TTI->getArithmeticInstrCost(E->getOpcode(), VecTy, Op1VK,
 3174       if (!E->ReorderIndices.empty()) {
 3225       assert(E->isAltShuffle() &&
 3226              ((Instruction::isBinaryOp(E->getOpcode()) &&
 3227                Instruction::isBinaryOp(E->getAltOpcode())) ||
 3228               (Instruction::isCast(E->getOpcode()) &&
 3229                Instruction::isCast(E->getAltOpcode()))) &&
 3233         for (unsigned Idx : E->ReuseShuffleIndices) {
 3246         assert(E->isOpcodeOrAlt(I) && "Unexpected main/alternate opcode");
 3253       if (Instruction::isBinaryOp(E->getOpcode())) {
 3254         VecCost = TTI->getArithmeticInstrCost(E->getOpcode(), VecTy);
 3255         VecCost += TTI->getArithmeticInstrCost(E->getAltOpcode(), VecTy);
 3257         Type *Src0SclTy = E->getMainOp()->getOperand(0)->getType();
 3258         Type *Src1SclTy = E->getAltOp()->getOperand(0)->getType();
 3261         VecCost = TTI->getCastInstrCost(E->getOpcode(), VecTy, Src0Ty);
 3262         VecCost += TTI->getCastInstrCost(E->getAltOpcode(), VecTy, Src1Ty);