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

References

lib/Transforms/Vectorize/LoopVectorize.cpp
 6093   Type *RetTy = I->getType();
 6094   if (canTruncateToMinimalBitwidth(I, VF))
 6095     RetTy = IntegerType::get(RetTy->getContext(), MinBWs[I]);
 6096   VectorTy = isScalarAfterVectorization(I, VF) ? RetTy : ToVectorTy(RetTy, VF);
 6100   switch (I->getOpcode()) {
 6112     BranchInst *BI = cast<BranchInst>(I);
 6126     } else if (I->getParent() == TheLoop->getLoopLatch() || VF == 1)
 6137     auto *Phi = cast<PHINode>(I);
 6164     if (VF > 1 && isScalarWithPredication(I)) {
 6174       Cost += VF * TTI.getArithmeticInstrCost(I->getOpcode(), RetTy);
 6178       Cost += getScalarizationOverhead(I, VF);
 6201     if (I->getOpcode() == Instruction::Mul && isStrideMul(I, Legal))
 6201     if (I->getOpcode() == Instruction::Mul && isStrideMul(I, Legal))
 6205     Value *Op2 = I->getOperand(1);
 6212     SmallVector<const Value *, 4> Operands(I->operand_values());
 6213     unsigned N = isScalarAfterVectorization(I, VF) ? VF : 1;
 6215                    I->getOpcode(), VectorTy, TargetTransformInfo::OK_AnyValue,
 6219     unsigned N = isScalarAfterVectorization(I, VF) ? VF : 1;
 6221                    I->getOpcode(), VectorTy, TargetTransformInfo::OK_AnyValue,
 6224                    I->getOperand(0));
 6227     SelectInst *SI = cast<SelectInst>(I);
 6234     return TTI.getCmpSelInstrCost(I->getOpcode(), VectorTy, CondTy, I);
 6234     return TTI.getCmpSelInstrCost(I->getOpcode(), VectorTy, CondTy, I);
 6238     Type *ValTy = I->getOperand(0)->getType();
 6239     Instruction *Op0AsInstruction = dyn_cast<Instruction>(I->getOperand(0));
 6243     return TTI.getCmpSelInstrCost(I->getOpcode(), VectorTy, nullptr, I);
 6243     return TTI.getCmpSelInstrCost(I->getOpcode(), VectorTy, nullptr, I);
 6249       InstWidening Decision = getWideningDecision(I, Width);
 6255     VectorTy = ToVectorTy(getMemInstValueType(I), Width);
 6256     return getMemoryInstructionCost(I, VF);
 6273     if (isOptimizableIVTruncate(I, VF)) {
 6274       auto *Trunc = cast<TruncInst>(I);
 6279     Type *SrcScalarTy = I->getOperand(0)->getType();
 6282     if (canTruncateToMinimalBitwidth(I, VF)) {
 6289       if (I->getOpcode() == Instruction::Trunc) {
 6292             largestIntegerVectorType(ToVectorTy(I->getType(), VF), MinVecTy);
 6293       } else if (I->getOpcode() == Instruction::ZExt ||
 6294                  I->getOpcode() == Instruction::SExt) {
 6297             smallestIntegerVectorType(ToVectorTy(I->getType(), VF), MinVecTy);
 6301     unsigned N = isScalarAfterVectorization(I, VF) ? VF : 1;
 6302     return N * TTI.getCastInstrCost(I->getOpcode(), VectorTy, SrcVecTy, I);
 6302     return N * TTI.getCastInstrCost(I->getOpcode(), VectorTy, SrcVecTy, I);
 6306     CallInst *CI = cast<CallInst>(I);
 6316            getScalarizationOverhead(I, VF);