| /freebsd/contrib/llvm-project/llvm/lib/Target/BPF/ |
| H A D | BPFCheckAndAdjustIR.cpp | 176 CallInst *MinMax; member 181 : ICmp(ICmp), Other(Other), Predicate(Predicate), MinMax(nullptr), in MinMaxSinkInfo() 222 Info.MinMax = Call; in sinkMinMaxInBB() 272 CallInst *MinMax = Info.MinMax; in sinkMinMaxInBB() local 273 Intrinsic::ID IID = MinMax->getCalledFunction()->getIntrinsicID(); in sinkMinMaxInBB() 281 Value *A = ZeroOrSignExtend(Builder, MinMax->getArgOperand(0), Info); in sinkMinMaxInBB() 282 Value *B = ZeroOrSignExtend(Builder, MinMax->getArgOperand(1), Info); in sinkMinMaxInBB() 304 Instruction *ToRemove[] = {ICmp, Info.ZExt, Info.SExt, MinMax}; in sinkMinMaxInBB()
|
| /freebsd/contrib/llvm-project/llvm/lib/Analysis/ |
| H A D | AssumeBundleQueries.cpp | 93 auto &MinMax = It->second; in fillMapFromAssume() local 94 MinMax.Min = std::min(Val, MinMax.Min); in fillMapFromAssume() 95 MinMax.Max = std::max(Val, MinMax.Max); in fillMapFromAssume()
|
| H A D | ScalarEvolution.cpp | 1861 auto *MinMax = cast<SCEVMinMaxExpr>(Op); in getZeroExtendExprImpl() local 1863 for (auto *Operand : MinMax->operands()) in getZeroExtendExprImpl() 1865 if (isa<SCEVUMinExpr>(MinMax)) in getZeroExtendExprImpl() 1871 if (auto *MinMax = dyn_cast<SCEVSequentialMinMaxExpr>(Op)) { in getZeroExtendExprImpl() local 1872 assert(isa<SCEVSequentialUMinExpr>(MinMax) && "Not supported!"); in getZeroExtendExprImpl() 1874 for (auto *Operand : MinMax->operands()) in getZeroExtendExprImpl() 2132 auto *MinMax = cast<SCEVMinMaxExpr>(Op); in getSignExtendExprImpl() local 2134 for (auto *Operand : MinMax->operands()) in getSignExtendExprImpl() 2136 if (isa<SCEVSMinExpr>(MinMax)) in getSignExtendExprImpl() 15482 if (auto *MinMax = dyn_cast<SCEVMinMaxExpr>(Expr)) { in collectFromBlock() local [all …]
|
| /freebsd/contrib/llvm-project/llvm/lib/Transforms/Scalar/ |
| H A D | ConstraintElimination.cpp | 1528 static bool checkAndReplaceMinMax(MinMaxIntrinsic *MinMax, ConstraintInfo &Info, in checkAndReplaceMinMax() argument 1530 auto ReplaceMinMaxWithOperand = [&](MinMaxIntrinsic *MinMax, bool UseLHS) { in checkAndReplaceMinMax() argument 1532 MinMax->replaceAllUsesWith(MinMax->getOperand(UseLHS ? 0 : 1)); in checkAndReplaceMinMax() 1533 ToRemove.push_back(MinMax); in checkAndReplaceMinMax() 1538 ICmpInst::getNonStrictPredicate(MinMax->getPredicate()); in checkAndReplaceMinMax() 1540 Pred, MinMax->getOperand(0), MinMax->getOperand(1), MinMax, Info)) in checkAndReplaceMinMax() 1541 return ReplaceMinMaxWithOperand(MinMax, *ImpliedCondition); in checkAndReplaceMinMax() 1543 Pred, MinMax->getOperand(1), MinMax->getOperand(0), MinMax, Info)) in checkAndReplaceMinMax() 1544 return ReplaceMinMaxWithOperand(MinMax, !*ImpliedCondition); in checkAndReplaceMinMax() 1886 } else if (auto *MinMax = dyn_cast<MinMaxIntrinsic>(Inst)) { in eliminateConstraints() local [all …]
|
| /freebsd/contrib/llvm-project/llvm/include/llvm/Analysis/ |
| H A D | AssumeBundleQueries.h | 72 struct MinMax { 81 using Assume2KnowledgeMap = DenseMap<AssumeInst *, MinMax>;
|
| /freebsd/contrib/llvm-project/llvm/lib/Transforms/Utils/ |
| H A D | LoopPeel.cpp | 513 auto ComputePeelCountMinMax = [&](MinMaxIntrinsic *MinMax) { in countToEliminateCompares() argument 514 if (!MinMax->getType()->isIntegerTy()) in countToEliminateCompares() 516 Value *LHS = MinMax->getLHS(), *RHS = MinMax->getRHS(); in countToEliminateCompares() 531 bool IsSigned = MinMax->isSigned(); in countToEliminateCompares() 560 if (MinMaxIntrinsic *MinMax = dyn_cast<MinMaxIntrinsic>(&I)) in countToEliminateCompares() local 561 ComputePeelCountMinMax(MinMax); in countToEliminateCompares()
|
| /freebsd/contrib/llvm-project/llvm/tools/llvm-xray/ |
| H A D | xray-account.cpp | 278 auto MinMax = std::minmax_element(Timings.begin(), Timings.end()); in getStats() local 279 R.Min = *MinMax.first; in getStats() 280 R.Max = *MinMax.second; in getStats()
|
| /freebsd/contrib/llvm-project/llvm/lib/Transforms/InstCombine/ |
| H A D | InstCombineMulDivRem.cpp | 1610 auto *MinMax = dyn_cast<MinMaxIntrinsic>(Op); in takeLog2() local 1611 if (MinMax && MinMax->hasOneUse() && !MinMax->isSigned()) { in takeLog2() 1614 if (Value *LogX = takeLog2(MinMax->getLHS(), Depth, in takeLog2() 1616 if (Value *LogY = takeLog2(MinMax->getRHS(), Depth, in takeLog2() 1619 return Builder.CreateBinaryIntrinsic(MinMax->getIntrinsicID(), LogX, in takeLog2()
|
| H A D | InstCombineAddSub.cpp | 2197 auto *MinMax = dyn_cast<MinMaxIntrinsic>(Op1); in foldSubOfMinMax() local 2198 if (!MinMax) in foldSubOfMinMax() 2203 Value *X = MinMax->getLHS(); in foldSubOfMinMax() 2204 Value *Y = MinMax->getRHS(); in foldSubOfMinMax() 2207 Intrinsic::ID InvID = getInverseMinMaxIntrinsic(MinMax->getIntrinsicID()); in foldSubOfMinMax() 2228 if (MinMax->isSigned() && match(Y, m_ZeroInt()) && in foldSubOfMinMax() 2230 Intrinsic::ID InvID = getInverseMinMaxIntrinsic(MinMax->getIntrinsicID()); in foldSubOfMinMax()
|
| H A D | InstCombineCompares.cpp | 5652 MinMaxIntrinsic *MinMax, in foldICmpWithMinMax() argument 5654 Value *X = MinMax->getLHS(); in foldICmpWithMinMax() 5655 Value *Y = MinMax->getRHS(); in foldICmpWithMinMax() 5656 if (ICmpInst::isSigned(Pred) && !MinMax->isSigned()) in foldICmpWithMinMax() 5658 if (ICmpInst::isUnsigned(Pred) && MinMax->isSigned()) { in foldICmpWithMinMax() 5663 isKnownNonNegative(MinMax, SQ.getWithInstruction(&I))) { in foldICmpWithMinMax() 5709 ICmpInst::getNonStrictPredicate(MinMax->getPredicate()); in foldICmpWithMinMax() 5715 ICmpInst::Predicate NewPred = MinMax->getPredicate(); in foldICmpWithMinMax() 5753 bool IsSame = MinMax->getPredicate() == ICmpInst::getStrictPredicate(Pred); in foldICmpWithMinMax() 7483 if (auto *MinMax = dyn_cast<MinMaxIntrinsic>(Op0)) in foldICmpCommutative() local [all …]
|
| H A D | InstCombineInternal.h | 717 Instruction *foldICmpWithMinMax(Instruction &I, MinMaxIntrinsic *MinMax,
|
| H A D | InstCombineCalls.cpp | 1334 Function *MinMax = Intrinsic::getOrInsertDeclaration(II->getModule(), in reassociateMinMaxWithConstantInOperand() local 1338 return CallInst::Create(MinMax, {NewInner, C}); in reassociateMinMaxWithConstantInOperand() 1394 Function *MinMax = in factorizeMinMaxTree() local 1396 return CallInst::Create(MinMax, { MinMaxOp, ThirdOp }); in factorizeMinMaxTree()
|
| H A D | InstCombineSelect.cpp | 1949 Value *MinMax = Builder.CreateBinaryIntrinsic(MinMaxID, X, RHS); in foldSelectWithConstOpToBinOp() local 1951 return Builder.CreateBinaryIntrinsic(Opcode, MinMax, C2); in foldSelectWithConstOpToBinOp() 1954 Value *BinOp = Builder.CreateBinOp(BinOpc, MinMax, C2); in foldSelectWithConstOpToBinOp()
|
| /freebsd/contrib/llvm-project/llvm/lib/Target/AMDGPU/ |
| H A D | R600ISelLowering.cpp | 816 SDValue MinMax = combineFMinMaxLegacy(DL, VT, LHS, RHS, True, False, CC, DCI); in LowerSELECT_CC() local 817 if (MinMax) in LowerSELECT_CC() 818 return MinMax; in LowerSELECT_CC()
|
| H A D | AMDGPUISelLowering.cpp | 4882 SDValue MinMax in performSelectCombine() local 4886 return MinMax; in performSelectCombine()
|
| /freebsd/contrib/llvm-project/llvm/lib/CodeGen/SelectionDAG/ |
| H A D | TargetLowering.cpp | 8716 SDValue MinMax; in expandFMINIMUM_FMAXIMUM() local 8725 MinMax = DAG.getNode(CompOpcIeee, DL, VT, LHS, RHS, Flags); in expandFMINIMUM_FMAXIMUM() 8728 MinMax = DAG.getNode(CompOpc, DL, VT, LHS, RHS, Flags); in expandFMINIMUM_FMAXIMUM() 8736 MinMax = DAG.getSelect(DL, VT, Compare, LHS, RHS, Flags); in expandFMINIMUM_FMAXIMUM() 8744 MinMax = DAG.getSelect(DL, VT, DAG.getSetCC(DL, CCVT, LHS, RHS, ISD::SETUO), in expandFMINIMUM_FMAXIMUM() 8745 DAG.getConstantFP(*FPNaN, DL, VT), MinMax, Flags); in expandFMINIMUM_FMAXIMUM() 8751 SDValue IsZero = DAG.getSetCC(DL, CCVT, MinMax, in expandFMINIMUM_FMAXIMUM() 8757 MinMax, Flags); in expandFMINIMUM_FMAXIMUM() 8761 MinMax = DAG.getSelect(DL, VT, IsZero, RCmp, MinMax, Flags); in expandFMINIMUM_FMAXIMUM() 8764 return MinMax; in expandFMINIMUM_FMAXIMUM() [all …]
|
| /freebsd/contrib/llvm-project/clang/lib/Sema/ |
| H A D | OpenCLBuiltins.td | 1213 …defvar extension_fp16 = !cast<FunctionExtension>("FuncExtFloatAtomicsFp16" # addrspace # "MinMax"); 1214 …defvar extension_fp32 = !cast<FunctionExtension>("FuncExtFloatAtomicsFp32" # addrspace # "MinMax"); 1215 …defvar extension_fp64 = !cast<FunctionExtension>("FuncExtFloatAtomicsFp64" # addrspace # "MinMax");
|
| /freebsd/contrib/llvm-project/llvm/lib/Transforms/Vectorize/ |
| H A D | SLPVectorizer.cpp | 3761 MinMax = Instruction::OtherOpsEnd + 1, enumerator 11911 E.CombinedOp = TreeEntry::MinMax; in transformNodes() 13480 case TreeEntry::MinMax: { in getEntryCost()
|
| /freebsd/contrib/llvm-project/llvm/lib/Target/X86/ |
| H A D | X86ISelLowering.cpp | 29453 SDValue MinMax = DAG.getNode(MinMaxOp, DL, VT, NewX, NewY, Op->getFlags()); in LowerFMINIMUM_FMAXIMUM() local 29456 return MinMax; in LowerFMINIMUM_FMAXIMUM() 29464 return DAG.getSelect(DL, VT, IsNaN, NewX, MinMax); in LowerFMINIMUM_FMAXIMUM() 47123 if (SDValue MinMax = combineMinMaxReduction(N, DAG, Subtarget)) in combineExtractVectorElt() local 47124 return MinMax; in combineExtractVectorElt()
|