reference, declaration → definition definition → references, declarations, derived classes, virtual overrides reference to multiple definitions → definitions unreferenced |
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);