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

References

include/llvm/CodeGen/BasicTTIImpl.h
  387     return TLI->isOperationLegalOrCustom(ISD::BR_JT, MVT::Other) ||
  388            TLI->isOperationLegalOrCustom(ISD::BRIND, MVT::Other);
  395            TLI->isOperationLegalOrCustom(ISD::FSQRT, VT);
include/llvm/CodeGen/TargetLowering.h
 1017     return isOperationLegalOrCustom(ISD::BR_JT, MVT::Other) ||
 1018            isOperationLegalOrCustom(ISD::BRIND, MVT::Other);
lib/CodeGen/CodeGenPrepare.cpp
 1549     if (TLI.isOperationLegalOrCustom(
 3578   return TLI.isOperationLegalOrCustom(
 6501            TLI.isOperationLegalOrCustom(
 7071       !TLI.isOperationLegalOrCustom(ISD::BITREVERSE,
lib/CodeGen/SelectionDAG/DAGCombiner.cpp
  680       return TLI.isOperationLegalOrCustom(Opcode, VT);
 2386   if (!TLI.isOperationLegalOrCustom(V.getOpcode(), VT))
 2488   if (TLI.isOperationLegalOrCustom(ISD::ADDCARRY, VT))
 2650   if (TLI.isOperationLegalOrCustom(ISD::ADDCARRY, VT))
 2692         TLI.isOperationLegalOrCustom(ISD::UADDO, N->getValueType(0)))
 3097   if (TLI.isOperationLegalOrCustom(ISD::ABS, VT)) {
 3147   if (TLI.isOperationLegalOrCustom(ISD::ADDCARRY, VT)) {
 3286         TLI.isOperationLegalOrCustom(ISD::USUBO, N->getValueType(0)))
 3525   if (!TLI.isOperationLegalOrCustom(DivRemOpc, VT) &&
 3533     if (TLI.isOperationLegalOrCustom(Opcode, VT))
 3537     if (TLI.isOperationLegalOrCustom(OtherOpcode, VT))
 4061                     TLI.isOperationLegalOrCustom(LoOp, N->getValueType(0)))) {
 4069                     TLI.isOperationLegalOrCustom(HiOp, N->getValueType(1)))) {
 4085          TLI.isOperationLegalOrCustom(LoOpt.getOpcode(), LoOpt.getValueType())))
 4095          TLI.isOperationLegalOrCustom(HiOpt.getOpcode(), HiOpt.getValueType())))
 4282         !TLI.isOperationLegalOrCustom(LogicOpcode, XVT))
 5333   if (!TLI.isOperationLegalOrCustom(ISD::BSWAP, VT))
 5557   if (!TLI.isOperationLegalOrCustom(ISD::BSWAP, VT))
 5593   if (TLI.isOperationLegalOrCustom(ISD::ROTL, VT))
 5595   if (TLI.isOperationLegalOrCustom(ISD::ROTR, VT))
 6125     bool HasPos = TLI.isOperationLegalOrCustom(PosOpcode, VT);
 6998   if (TLI.isOperationLegalOrCustom(ISD::ABS, VT)) {
 7035   if (TLI.isOperationLegalOrCustom(ISD::ROTL, VT) && N0Opcode == ISD::SHL &&
 7628           TLI.isOperationLegalOrCustom(ISD::SIGN_EXTEND, TruncVT) &&
 7629           TLI.isOperationLegalOrCustom(ISD::TRUNCATE, VT) &&
 8150     if (TLI.isOperationLegalOrCustom(IEEEOpcode, VT))
 8154     if (TLI.isOperationLegalOrCustom(Opcode, TransformVT))
 8165     if (TLI.isOperationLegalOrCustom(IEEEOpcode, VT))
 8169     if (TLI.isOperationLegalOrCustom(Opcode, TransformVT))
 8468     if (!LegalOperations && TLI.isOperationLegalOrCustom(ISD::UADDO, VT) &&
 8494          TLI.isOperationLegalOrCustom(ISD::SELECT_CC, VT))) {
 8712       if (TLI.isOperationLegalOrCustom(ISD::ABS, VT))
 8752           TLI.isOperationLegalOrCustom(ISD::SETCC, WideVT)) {
 9247   if (LegalOperations || !TLI.isOperationLegalOrCustom(ISD::VSELECT, VT))
 9626       TLI.isOperationLegalOrCustom(ISD::SUB, VT)) {
 9635       TLI.isOperationLegalOrCustom(ISD::ADD, VT)) {
 9689   if (TLI.isOperationLegalOrCustom(ISD::CTPOP, CtPop.getValueType()) ||
 9690       !TLI.isOperationLegalOrCustom(ISD::CTPOP, VT))
11338       (!LegalOperations || TLI.isOperationLegalOrCustom(ISD::FMA, VT));
11549       (!LegalOperations || TLI.isOperationLegalOrCustom(ISD::FMA, VT));
11847       (!LegalOperations || TLI.isOperationLegalOrCustom(ISD::FMA, VT));
11952   if ((!LegalOperations || TLI.isOperationLegalOrCustom(ISD::FSUB, VT)) &&
11959   if ((!LegalOperations || TLI.isOperationLegalOrCustom(ISD::FSUB, VT)) &&
12016     if (TLI.isOperationLegalOrCustom(ISD::FMUL, VT) && !N0CFP && !N1CFP) {
12767     if (!DAG.getTargetLoweringInfo().isOperationLegalOrCustom(ISD::FSQRT, VT))
12836        TLI.isOperationLegalOrCustom(ISD::ConstantFP, VT)))
12849   if (TLI.isOperationLegalOrCustom(ISD::SELECT_CC, VT) || !LegalOperations) {
12854          TLI.isOperationLegalOrCustom(ISD::ConstantFP, VT))) {
12868          TLI.isOperationLegalOrCustom(ISD::ConstantFP, VT))) {
12897        TLI.isOperationLegalOrCustom(ISD::ConstantFP, VT)))
12910   if (TLI.isOperationLegalOrCustom(ISD::SELECT_CC, VT) || !LegalOperations) {
12914          TLI.isOperationLegalOrCustom(ISD::ConstantFP, VT))) {
13310       TLI.isOperationLegalOrCustom(ISD::BR_CC,
14903             !TLI.isOperationLegalOrCustom(Opc, NewVT) ||
16072         TLI.isOperationLegalOrCustom(ISD::STORE, MVT::i32)) {
16084         TLI.isOperationLegalOrCustom(ISD::STORE, MVT::i64)) {
16093         TLI.isOperationLegalOrCustom(ISD::STORE, MVT::i32)) {
16684   if (NewAlign > Align || !TLI.isOperationLegalOrCustom(ISD::LOAD, VecEltVT))
18049   if (!TLI.isOperationLegalOrCustom(BinOpcode, SubVT))
18241         TLI.isOperationLegalOrCustom(ISD::EXTRACT_SUBVECTOR, NVT)) {
18260       if (TLI.isOperationLegalOrCustom(ISD::EXTRACT_SUBVECTOR, NewExtVT)) {
18613           TLI.isOperationLegalOrCustom(ISD::ANY_EXTEND_VECTOR_INREG, OutVT))
19432     if (!TLI.isOperationLegalOrCustom(Opcode, VT) &&
19433         TLI.isOperationLegalOrCustom(NewOpcode, VT) &&
19552       !TLI.isOperationLegalOrCustom(Opcode, EltVT))
19794         !TLI.isOperationLegalOrCustom(TheSelect->getOpcode(),
lib/CodeGen/SelectionDAG/LegalizeDAG.cpp
 1518   if (TLI.isOperationLegalOrCustom(ISD::FABS, FloatVT) &&
 1519       TLI.isOperationLegalOrCustom(ISD::FNEG, FloatVT)) {
 1564   if (TLI.isOperationLegalOrCustom(ISD::FCOPYSIGN, FloatVT)) {
 2473     if (TLI.isOperationLegalOrCustom(ISD::SINT_TO_FP, NewInTy)) {
 2480     if (TLI.isOperationLegalOrCustom(ISD::UINT_TO_FP, NewInTy)) {
 2515     if (TLI.isOperationLegalOrCustom(ISD::FP_TO_SINT, NewOutTy)) {
 2521     if (!isSigned && TLI.isOperationLegalOrCustom(ISD::FP_TO_UINT, NewOutTy)) {
 3118     if ((TLI.isOperationLegalOrCustom(ISD::FSINCOS, VT) ||
 3149           TLI.isOperationLegalOrCustom(ISD::FP_TO_FP16, MVT::f32)) {
 3175     if (TLI.isOperationLegalOrCustom(ISD::FADD, VT) &&
 3176         TLI.isOperationLegalOrCustom(ISD::FNEG, VT)) {
 3186     assert(TLI.isOperationLegalOrCustom(ISD::ADD, VT) &&
 3187            TLI.isOperationLegalOrCustom(ISD::XOR, VT) &&
 3204     if (TLI.isOperationLegalOrCustom(DivRemOpc, VT)) {
 3208     } else if (TLI.isOperationLegalOrCustom(DivOpc, VT)) {
 3222     if (TLI.isOperationLegalOrCustom(DivRemOpc, VT)) {
 3250     if (TLI.isOperationLegalOrCustom(MULHOpcode, VT)) {
 3283     bool HasSMUL_LOHI = TLI.isOperationLegalOrCustom(ISD::SMUL_LOHI, VT);
 3284     bool HasUMUL_LOHI = TLI.isOperationLegalOrCustom(ISD::UMUL_LOHI, VT);
 3285     bool HasMULHS = TLI.isOperationLegalOrCustom(ISD::MULHS, VT);
 3286     bool HasMULHU = TLI.isOperationLegalOrCustom(ISD::MULHU, VT);
 3305     if (TLI.isOperationLegalOrCustom(ISD::ZERO_EXTEND, VT) &&
 3306         TLI.isOperationLegalOrCustom(ISD::ANY_EXTEND, VT) &&
 3307         TLI.isOperationLegalOrCustom(ISD::SHL, VT) &&
 3308         TLI.isOperationLegalOrCustom(ISD::OR, VT) &&
lib/CodeGen/SelectionDAG/LegalizeIntegerTypes.cpp
  501       TLI.isOperationLegalOrCustom(ISD::FP_TO_SINT, NVT))
  506       TLI.isOperationLegalOrCustom(ISD::STRICT_FP_TO_SINT, NVT))
  672   if (TLI.isOperationLegalOrCustom(Opcode, PromotedType)) {
 2137   bool HasOpCarry = TLI.isOperationLegalOrCustom(
 2160     TLI.isOperationLegalOrCustom(N->getOpcode() == ISD::ADD ?
 2179     TLI.isOperationLegalOrCustom(N->getOpcode() == ISD::ADD ?
 2323   bool HasCarryOp = TLI.isOperationLegalOrCustom(
 3748   bool HasSETCCCARRY = TLI.isOperationLegalOrCustom(ISD::SETCCCARRY, ExpandVT);
lib/CodeGen/SelectionDAG/LegalizeVectorOps.cpp
  606       TLI.isOperationLegalOrCustom(ISD::FP_TO_SINT, NVT))
 1093   if (TLI.isOperationLegalOrCustom(ISD::BITREVERSE, VT.getScalarType()))
 1106         (TLI.isOperationLegalOrCustom(ISD::BITREVERSE, ByteVT) ||
 1107          (TLI.isOperationLegalOrCustom(ISD::SHL, ByteVT) &&
 1108           TLI.isOperationLegalOrCustom(ISD::SRL, ByteVT) &&
 1122   if (!TLI.isOperationLegalOrCustom(ISD::SHL, VT) ||
 1123       !TLI.isOperationLegalOrCustom(ISD::SRL, VT) ||
 1248   if (TLI.isOperationLegalOrCustom(ISD::FSUB, Op.getValueType())) {
 1263   if (TLI.isOperationLegalOrCustom(ISD::FNEG, VT) &&
 1264       TLI.isOperationLegalOrCustom(ISD::FADD, VT))
lib/CodeGen/SelectionDAG/LegalizeVectorTypes.cpp
 2874     if (!TLI.isOperationLegalOrCustom(N->getOpcode(), WideVecVT) &&
lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
 3282       !TLI.isOperationLegalOrCustom(ISD::VSELECT, VT);
 3298         if (TLI.isOperationLegalOrCustom(ISD::FMINNUM, VT))
 3300         else if (TLI.isOperationLegalOrCustom(ISD::FMINIMUM, VT))
 3303           Opc = TLI.isOperationLegalOrCustom(ISD::FMINNUM, VT.getScalarType()) ?
 3316         if (TLI.isOperationLegalOrCustom(ISD::FMAXNUM, VT))
 3318         else if (TLI.isOperationLegalOrCustom(ISD::FMAXIMUM, VT))
 3321           Opc = TLI.isOperationLegalOrCustom(ISD::FMAXNUM, VT.getScalarType()) ?
 3336         (TLI.isOperationLegalOrCustom(Opc, VT) ||
 3338           TLI.isOperationLegalOrCustom(Opc, VT.getScalarType()))) &&
 6236     if (TLI.isOperationLegalOrCustom(FunnelOpcode, VT)) {
 6246       if (TLI.isOperationLegalOrCustom(RotateOpcode, VT)) {
 6253       if (TLI.isOperationLegalOrCustom(RotateOpcode, VT)) {
lib/CodeGen/SelectionDAG/TargetLowering.cpp
  228         if (isOperationLegalOrCustom(ISD::STORE, NewVT) &&
  232                  isOperationLegalOrCustom(ISD::STORE, MVT::f64) &&
 1836       bool OpVTLegal = isOperationLegalOrCustom(ISD::FGETSIGN, VT);
 1837       bool i32Legal = isOperationLegalOrCustom(ISD::FGETSIGN, MVT::i32);
 3129       if (C1 == 1 && !isOperationLegalOrCustom(ISD::CTPOP, CTVT) &&
 4710                           : isOperationLegalOrCustom(ISD::MULHS, VT))
 4713                                : isOperationLegalOrCustom(ISD::SMUL_LOHI, VT)) {
 4830                             : isOperationLegalOrCustom(ISD::MULHU, VT))
 4833                             : isOperationLegalOrCustom(ISD::UMUL_LOHI, VT)) {
 4943   if (!isOperationLegalOrCustom(ISD::MUL, VT))
 5054     if (!isOperationLegalOrCustom(ISD::ROTR, VT))
 5116   if (!isOperationLegalOrCustom(ISD::MUL, VT))
 5261     if (!isOperationLegalOrCustom(ISD::ADD, VT))
 5273     if (!isOperationLegalOrCustom(ISD::ROTR, VT))
 5296   if (!isOperationLegalOrCustom(ISD::SETEQ, VT) ||
 5297       !isOperationLegalOrCustom(ISD::AND, VT) ||
 5298       !isOperationLegalOrCustom(Cond, VT) ||
 5299       !isOperationLegalOrCustom(ISD::VSELECT, VT))
 5394     if (LegalOperations && !isOperationLegalOrCustom(ISD::FSUB, VT))
 5596                   isOperationLegalOrCustom(ISD::MULHS, HiLoVT);
 5598                   isOperationLegalOrCustom(ISD::MULHU, HiLoVT);
 5600                       isOperationLegalOrCustom(ISD::SMUL_LOHI, HiLoVT);
 5602                       isOperationLegalOrCustom(ISD::UMUL_LOHI, HiLoVT);
 5635       isOperationLegalOrCustom(ISD::TRUNCATE, HiLoVT)) {
 5681       isOperationLegalOrCustom(ISD::SRL, VT) &&
 5682       isOperationLegalOrCustom(ISD::TRUNCATE, HiLoVT)) {
 5728   bool UseGlue = (isOperationLegalOrCustom(ISD::ADDC, VT) &&
 5729                   isOperationLegalOrCustom(ISD::ADDE, VT));
 5789   if (VT.isVector() && (!isOperationLegalOrCustom(ISD::SHL, VT) ||
 5790                         !isOperationLegalOrCustom(ISD::SRL, VT) ||
 5791                         !isOperationLegalOrCustom(ISD::SUB, VT) ||
 5854   if (VT.isVector() && (!isOperationLegalOrCustom(ISD::SHL, VT) ||
 5855                         !isOperationLegalOrCustom(ISD::SRL, VT) ||
 5856                         !isOperationLegalOrCustom(ISD::SUB, VT) ||
 5964   if (DstVT.isVector() && (!isOperationLegalOrCustom(SIntOpcode, DstVT) ||
 6050         (!isOperationLegalOrCustom(ISD::SRL, SrcVT) ||
 6051          !isOperationLegalOrCustom(ISD::FADD, DstVT) ||
 6052          !isOperationLegalOrCustom(ISD::SINT_TO_FP, SrcVT) ||
 6087         (!isOperationLegalOrCustom(ISD::SRL, SrcVT) ||
 6088          !isOperationLegalOrCustom(ISD::FADD, DstVT) ||
 6089          !isOperationLegalOrCustom(ISD::FSUB, DstVT) ||
 6125   if (isOperationLegalOrCustom(NewOp, VT)) {
 6150     if (isOperationLegalOrCustom(IEEE2018Op, VT)) {
 6173   if (VT.isVector() && (!isOperationLegalOrCustom(ISD::ADD, VT) ||
 6174                         !isOperationLegalOrCustom(ISD::SUB, VT) ||
 6175                         !isOperationLegalOrCustom(ISD::SRL, VT) ||
 6176                         (Len != 8 && !isOperationLegalOrCustom(ISD::MUL, VT)) ||
 6229       isOperationLegalOrCustom(ISD::CTLZ, VT)) {
 6235   if (isOperationLegalOrCustom(ISD::CTLZ_ZERO_UNDEF, VT)) {
 6248                         !isOperationLegalOrCustom(ISD::CTPOP, VT) ||
 6249                         !isOperationLegalOrCustom(ISD::SRL, VT) ||
 6281       isOperationLegalOrCustom(ISD::CTTZ, VT)) {
 6287   if (isOperationLegalOrCustom(ISD::CTTZ_ZERO_UNDEF, VT)) {
 6300                         (!isOperationLegalOrCustom(ISD::CTPOP, VT) &&
 6301                          !isOperationLegalOrCustom(ISD::CTLZ, VT)) ||
 6302                         !isOperationLegalOrCustom(ISD::SUB, VT) ||
 6335   if (VT.isVector() && (!isOperationLegalOrCustom(ISD::SRA, VT) ||
 6336                         !isOperationLegalOrCustom(ISD::ADD, VT) ||
 6474       if (!isOperationLegalOrCustom(ISD::LOAD, intVT) &&
 6631       if (!isOperationLegalOrCustom(ISD::STORE, intVT) &&
 6893   if (Opcode == ISD::USUBSAT && isOperationLegalOrCustom(ISD::UMAX, VT)) {
 6898   if (Opcode == ISD::UADDSAT && isOperationLegalOrCustom(ISD::UMIN, VT)) {
 6985       if (isOperationLegalOrCustom(ISD::MUL, VT))
 6987     } else if (Signed && isOperationLegalOrCustom(ISD::SMULO, VT)) {
 7001     } else if (!Signed && isOperationLegalOrCustom(ISD::UMULO, VT)) {
 7023   if (isOperationLegalOrCustom(LoHiOp, VT)) {
 7027   } else if (isOperationLegalOrCustom(HiOp, VT)) {
 7111   if (isOperationLegalOrCustom(OpcCarry, Node->getValueType(0))) {
 7147   if (isOperationLegalOrCustom(OpcSat, LHS.getValueType())) {
 7208   if (isOperationLegalOrCustom(Ops[isSigned][0], VT)) {
 7211   } else if (isOperationLegalOrCustom(Ops[isSigned][1], VT)) {
 7347       if (!isOperationLegalOrCustom(BaseOpcode, HalfVT))
lib/Target/AArch64/AArch64ISelLowering.cpp
 8531            isOperationLegalOrCustom(ISD::FMA, VT) &&
 9259   if (!isOperationLegalOrCustom(ISD::EXTRACT_SUBVECTOR, ResVT))
lib/Target/AArch64/AArch64TargetTransformInfo.cpp
  526       if (TLI->isOperationLegalOrCustom(ISD::MULHU, VT)) {
lib/Target/ARM/ARMISelLowering.cpp
16181   if (!isOperationLegalOrCustom(ISD::ADDCARRY, HalfT) ||
16182       !isOperationLegalOrCustom(ISD::UADDO, HalfT))
16395   if (!isOperationLegalOrCustom(ISD::EXTRACT_SUBVECTOR, ResVT))
lib/Target/Hexagon/HexagonISelLowering.cpp
 1851   return isOperationLegalOrCustom(ISD::FMA, VT);
lib/Target/PowerPC/PPCISelLowering.cpp
 7513       isOperationLegalOrCustom(Op.getOpcode(),
lib/Target/PowerPC/PPCTargetTransformInfo.cpp
  421           if (TLI->isOperationLegalOrCustom(Opcode, EVTy))
  424                    TLI->isOperationLegalOrCustom(Opcode, EVTy.getScalarType()))
lib/Target/X86/X86ISelLowering.cpp
 4960   if (!isOperationLegalOrCustom(ISD::EXTRACT_SUBVECTOR, ResVT))
 8414   if (!TLI.isOperationLegalOrCustom(ISD::INSERT_VECTOR_ELT, VT))
 9644       (isOperationLegalOrCustom(ISD::INSERT_VECTOR_ELT, VT) ||
 9645        isOperationLegalOrCustom(ISD::VECTOR_SHUFFLE, VT))) {
35159   if (NewAlign > Align || !TLI.isOperationLegalOrCustom(ISD::LOAD, EltVT))
36754   if (!TLI.isOperationLegalOrCustom(ISD::VSELECT, VT))
44655             TLI.isOperationLegalOrCustom(ISD::EXTRACT_SUBVECTOR, NewExtVT)) {