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

References

lib/Target/ARM/ARMTargetTransformInfo.cpp
   74   if (!ST->isThumb()) {
   79     return ST->hasV6T2Ops() ? 2 : 3;
   81   if (ST->isThumb2()) {
   86     return ST->hasV6T2Ops() ? 2 : 3;
  133     if (ST->isThumb2() && NegImm < 1<<12)
  136     if (ST->isThumb() && NegImm < 1<<8)
  161   if (Src->isVectorTy() && ST->hasNEON() && (ISD == ISD::FP_ROUND ||
  202     if (SrcTy.isVector() && ST->hasMVEIntegerOps()) {
  288   if (SrcTy.isVector() && ST->hasNEON()) {
  318   if (SrcTy.isFloatingPoint() && ST->hasNEON()) {
  349   if (SrcTy.isInteger() && ST->hasNEON()) {
  374   if (SrcTy.isVector() && ST->hasMVEIntegerOps()) {
  378       return Entry->Cost * ST->getMVEVectorCostFactor();
  400   int BaseCost = ST->hasMVEIntegerOps() && Src->isVectorTy()
  401                      ? ST->getMVEVectorCostFactor()
  410   if (ST->hasSlowLoadDSubregister() && Opcode == Instruction::InsertElement &&
  414   if (ST->hasNEON() && (Opcode == Instruction::InsertElement ||
  428   if (ST->hasMVEIntegerOps() && (Opcode == Instruction::InsertElement ||
  435                     ST->getMVEVectorCostFactor()) *
  446   if (ST->hasNEON() && ValTy->isVectorTy() && ISD == ISD::SELECT) {
  467   int BaseCost = ST->hasMVEIntegerOps() && ValTy->isVectorTy()
  468                      ? ST->getMVEVectorCostFactor()
  482   if (ST->hasNEON()) {
  495   if (!EnableMaskedLoadStores || !ST->hasMVEIntegerOps())
  551   if (ST->hasNEON()) {
  620   if (ST->hasMVEIntegerOps()) {
  634         return LT.first * Entry->Cost * ST->getMVEVectorCostFactor();
  637   int BaseCost = ST->hasMVEIntegerOps() && Tp->isVectorTy()
  638                      ? ST->getMVEVectorCostFactor()
  694   if (ST->hasNEON()) {
  715   int BaseCost = ST->hasMVEIntegerOps() && Ty->isVectorTy()
  716                      ? ST->getMVEVectorCostFactor()
  743   if (ST->hasNEON() && Src->isVectorTy() &&
  750   int BaseCost = ST->hasMVEIntegerOps() && Src->isVectorTy()
  751                      ? ST->getMVEVectorCostFactor()
  821     if (F->getReturnType()->isDoubleTy() && !ST->hasFP64())
  823     if (F->getReturnType()->isHalfTy() && !ST->hasFullFP16())
  828     return !ST->hasFPARMv8Base() && !ST->hasVFP2Base();
  828     return !ST->hasFPARMv8Base() && !ST->hasVFP2Base();
  833     return !ST->hasMVEIntegerOps();
  854   if (!ST->hasLOB() || DisableLowOverheadLoops)
  902       return !ST->hasFPARMv8Base();
  945     if (I.getType()->isDoubleTy() && !ST->hasFP64())
  949     if (I.getType()->isHalfTy() && !ST->hasFullFP16())
 1006   if (!ST->isMClass())
 1016   if (!ST->isThumb2())
 1032   if (ST->hasBranchPredictor() && L->getNumBlocks() > 4)
 1079   if (!ST->hasMVEIntegerOps())
lib/Target/ARM/ARMTargetTransformInfo.h
   83   const ARMSubtarget *getST() const { return ST; }
   89         TLI(ST->getTargetLowering()) {}
   99     return ST->isMClass() && ST->isThumb2() && L->getNumBlocks() == 1;
   99     return ST->isMClass() && ST->isThumb2() && L->getNumBlocks() == 1;
  106     return !ST->isTargetDarwin() && !ST->hasMVEFloatOps();
  106     return !ST->isTargetDarwin() && !ST->hasMVEFloatOps();
  128       if (ST->hasNEON())
  130       if (ST->hasMVEIntegerOps())
  135     if (ST->isThumb1Only())
  142       if (ST->hasNEON())
  144       if (ST->hasMVEIntegerOps())
  153     return ST->getMaxInterleaveFactor();
  214     if (ST->isROPI() || ST->isRWPI())
  214     if (ST->isROPI() || ST->isRWPI())