Lines Matching defs:TTI
780 static bool isLegal2RegAMUse(const TargetTransformInfo &TTI, const LSRUse &LU,
783 static unsigned getScalingFactorCost(const TargetTransformInfo &TTI,
824 void RateFormula(const TargetTransformInfo &TTI,
916 void Cost::RateFormula(const TargetTransformInfo &TTI,
952 NumBaseAdds += NumBaseParts - (1 + isLegal2RegAMUse(TTI, LU, F));
955 ScaleCost += getScalingFactorCost(TTI, LU, F);
1308 static bool isLegalUse(const TargetTransformInfo &TTI, LSRUse::KindType Kind,
1313 return TTI.isLegalAddressingMode(AccessTy, BaseGV, BaseOffset, HasBaseReg, Scale);
1343 return TTI.isLegalICmpImmediate(BaseOffset);
1361 static bool isLegalUse(const TargetTransformInfo &TTI, int64_t MinOffset,
1375 return isLegalUse(TTI, Kind, AccessTy, BaseGV, MinOffset, HasBaseReg,
1377 isLegalUse(TTI, Kind, AccessTy, BaseGV, MaxOffset, HasBaseReg, Scale);
1380 static bool isLegalUse(const TargetTransformInfo &TTI, int64_t MinOffset,
1383 return isLegalUse(TTI, MinOffset, MaxOffset, Kind, AccessTy, F.BaseGV,
1387 static bool isLegal2RegAMUse(const TargetTransformInfo &TTI, const LSRUse &LU,
1407 return isLegalUse(TTI, LU.MinOffset, LU.MaxOffset, LU.Kind, LU.AccessTy,
1411 static unsigned getScalingFactorCost(const TargetTransformInfo &TTI,
1415 assert(isLegalUse(TTI, LU.MinOffset, LU.MaxOffset, LU.Kind,
1422 TTI.getScalingFactorCost(LU.AccessTy, F.BaseGV,
1426 TTI.getScalingFactorCost(LU.AccessTy, F.BaseGV,
1447 static bool isAlwaysFoldable(const TargetTransformInfo &TTI,
1465 return isLegalUse(TTI, Kind, AccessTy, BaseGV, BaseOffset, HasBaseReg, Scale);
1468 static bool isAlwaysFoldable(const TargetTransformInfo &TTI,
1490 return isLegalUse(TTI, MinOffset, MaxOffset, Kind, AccessTy, BaseGV,
1591 const TargetTransformInfo &TTI;
1779 if (!TTI.isTypeLegal(DestTy)) continue;
2102 if (TTI.isLegalAddressingMode(AccessTy, /*BaseGV=*/ 0,
2107 if (TTI.isLegalAddressingMode(AccessTy, /*BaseGV=*/ 0,
2179 if (!isAlwaysFoldable(TTI, Kind, AccessTy, /*BaseGV=*/ 0,
2184 if (!isAlwaysFoldable(TTI, Kind, AccessTy, /*BaseGV=*/ 0,
2214 if (!isAlwaysFoldable(TTI, Kind, AccessTy, /*BaseGV=*/ 0,
2480 ScalarEvolution &SE, const TargetTransformInfo &TTI) {
2750 ChainUsersVec[UsersIdx].FarUsers, SE, TTI))
2777 Value *Operand, const TargetTransformInfo &TTI) {
2786 if (!isAlwaysFoldable(TTI, LSRUse::Address,
2860 TTI)) {
3204 if (isAlwaysFoldable(TTI, SE, LU.MinOffset, LU.MaxOffset, LU.Kind,
3217 isAlwaysFoldable(TTI, SE, LU.MinOffset, LU.MaxOffset, LU.Kind,
3230 TTI.isLegalAddImmediate((uint64_t)F.UnfoldedOffset +
3241 TTI.isLegalAddImmediate((uint64_t)F.UnfoldedOffset +
3300 if (!isLegalUse(TTI, LU.MinOffset, LU.MaxOffset, LU.Kind, LU.AccessTy, F))
3324 if (isLegalUse(TTI, LU.MinOffset - *I, LU.MaxOffset - *I, LU.Kind,
3344 if (!isLegalUse(TTI, LU.MinOffset, LU.MaxOffset, LU.Kind, LU.AccessTy, F))
3391 if (!isLegalUse(TTI, Offset, Offset, LU.Kind, LU.AccessTy, F))
3446 if (!isLegalUse(TTI, LU.MinOffset, LU.MaxOffset, LU.Kind, LU.AccessTy,
3451 isLegalUse(TTI, LU.MinOffset, LU.MaxOffset, LSRUse::Special,
3496 if (SrcTy != DstTy && TTI.isTruncateFree(SrcTy, DstTy)) {
3650 if (!isLegalUse(TTI, LU.MinOffset, LU.MaxOffset, LU.Kind, LU.AccessTy,
3675 if (!isLegalUse(TTI, LU.MinOffset, LU.MaxOffset,
3677 if (!TTI.isLegalAddImmediate((uint64_t)NewF.UnfoldedOffset + Imm))
3778 CostF.RateFormula(TTI, F, Regs, VisitedRegs, L, LU.Offsets, SE, DT, LU,
3814 CostBest.RateFormula(TTI, Best, Regs, VisitedRegs, L, LU.Offsets, SE,
3992 if (!isLegalUse(TTI, LUThatHas->MinOffset, LUThatHas->MaxOffset,
4168 NewCost.RateFormula(TTI, F, NewRegs, VisitedRegs, L, LU.Offsets, SE, DT,
4682 TTI(P->getAnalysis<TargetTransformInfo>()), L(L), Changed(false),
4772 assert(isLegalUse(TTI, LU.MinOffset, LU.MaxOffset, LU.Kind, LU.AccessTy,