| /freebsd/contrib/llvm-project/llvm/lib/Transforms/InstCombine/ |
| H A D | InstCombineSelect.cpp | 998 Value *Cmp0 = Cmp->getOperand(0); in canonicalizeSaturatedAdd() local 1017 if (match(FVal, m_Add(m_Specific(Cmp0), m_One())) && in canonicalizeSaturatedAdd() 1020 Intrinsic::uadd_sat, Cmp0, ConstantInt::get(Cmp0->getType(), 1)); in canonicalizeSaturatedAdd() 1026 match(FVal, m_Add(m_Specific(Cmp0), m_APIntAllowPoison(C))) && in canonicalizeSaturatedAdd() 1030 return Builder.CreateBinaryIntrinsic(Intrinsic::uadd_sat, Cmp0, in canonicalizeSaturatedAdd() 1031 ConstantInt::get(Cmp0->getType(), *C)); in canonicalizeSaturatedAdd() 1037 match(FVal, m_Add(m_Specific(Cmp0), m_APIntAllowPoison(C))) && in canonicalizeSaturatedAdd() 1040 return Builder.CreateBinaryIntrinsic(Intrinsic::uadd_sat, Cmp0, in canonicalizeSaturatedAdd() 1041 ConstantInt::get(Cmp0->getType(), *C)); in canonicalizeSaturatedAdd() 1047 match(FVal, m_Add(m_Specific(Cmp0), m_APIntAllowPoison(C))) && in canonicalizeSaturatedAdd() [all …]
|
| H A D | InstCombineAndOrXor.cpp | 717 Value *InstCombinerImpl::simplifyRangeCheck(ICmpInst *Cmp0, ICmpInst *Cmp1, in simplifyRangeCheck() argument 721 ConstantInt *RangeStart = dyn_cast<ConstantInt>(Cmp0->getOperand(1)); in simplifyRangeCheck() 725 ICmpInst::Predicate Pred0 = (Inverted ? Cmp0->getInversePredicate() : in simplifyRangeCheck() 726 Cmp0->getPredicate()); in simplifyRangeCheck() 736 Value *Input = Cmp0->getOperand(0); in simplifyRangeCheck() 936 static Value *foldIsPowerOf2OrZero(ICmpInst *Cmp0, ICmpInst *Cmp1, bool IsAnd, in foldIsPowerOf2OrZero() argument 941 if (!match(Cmp0, m_ICmp(Pred0, m_Intrinsic<Intrinsic::ctpop>(m_Value(X)), in foldIsPowerOf2OrZero() 946 auto *CtPop = cast<Instruction>(Cmp0->getOperand(0)); in foldIsPowerOf2OrZero() 966 static Value *foldIsPowerOf2(ICmpInst *Cmp0, ICmpInst *Cmp1, bool JoinedByAnd, in foldIsPowerOf2() argument 971 std::swap(Cmp0, Cmp1); in foldIsPowerOf2() [all …]
|
| H A D | InstCombineInternal.h | 112 Value *simplifyRangeCheck(ICmpInst *Cmp0, ICmpInst *Cmp1, bool Inverted); 422 Value *foldEqOfParts(Value *Cmp0, Value *Cmp1, bool IsAnd);
|
| H A D | InstCombineCompares.cpp | 3588 Value *Cmp0 = Cmp.getOperand(0); in foldICmpInstWithConstant() local 3590 if (C->isZero() && Cmp.isEquality() && Cmp0->hasOneUse() && in foldICmpInstWithConstant() 3591 (match(Cmp0, in foldICmpInstWithConstant() 3594 match(Cmp0, in foldICmpInstWithConstant()
|
| /freebsd/contrib/llvm-project/llvm/lib/Target/AMDGPU/ |
| H A D | AMDGPUInstCombineIntrinsic.cpp | 50 APFloat::cmpResult Cmp0 = Max3.compare(Src0); in fmed3AMDGCN() local 51 assert(Cmp0 != APFloat::cmpUnordered && "nans handled separately"); in fmed3AMDGCN() 52 if (Cmp0 == APFloat::cmpEqual) in fmed3AMDGCN()
|
| /freebsd/contrib/llvm-project/llvm/lib/Analysis/ |
| H A D | InstructionSimplify.cpp | 1617 static Value *simplifyAndOrOfICmpsWithConstants(ICmpInst *Cmp0, ICmpInst *Cmp1, in simplifyAndOrOfICmpsWithConstants() argument 1620 if (Cmp0->getOperand(0) != Cmp1->getOperand(0)) in simplifyAndOrOfICmpsWithConstants() 1624 if (!match(Cmp0->getOperand(1), m_APInt(C0)) || in simplifyAndOrOfICmpsWithConstants() 1628 auto Range0 = ConstantRange::makeExactICmpRegion(Cmp0->getPredicate(), *C0); in simplifyAndOrOfICmpsWithConstants() 1634 return getFalse(Cmp0->getType()); in simplifyAndOrOfICmpsWithConstants() 1639 return getTrue(Cmp0->getType()); in simplifyAndOrOfICmpsWithConstants() 1647 return IsAnd ? Cmp1 : Cmp0; in simplifyAndOrOfICmpsWithConstants() 1649 return IsAnd ? Cmp0 : Cmp1; in simplifyAndOrOfICmpsWithConstants() 1702 static Value *simplifyAndOrOfICmpsWithCtpop(ICmpInst *Cmp0, ICmpInst *Cmp1, in simplifyAndOrOfICmpsWithCtpop() argument 1707 if (!match(Cmp0, m_ICmp(Pred0, m_Intrinsic<Intrinsic::ctpop>(m_Value(X)), in simplifyAndOrOfICmpsWithCtpop()
|
| /freebsd/contrib/llvm-project/llvm/lib/Transforms/Utils/ |
| H A D | LoopUtils.cpp | 1994 Value *Cmp0 = ChkBuilder.CreateICmpULT(A.Start, B.End, "bound0"); in addRuntimeChecks() local 1996 Value *IsConflict = ChkBuilder.CreateAnd(Cmp0, Cmp1, "found.conflict"); in addRuntimeChecks()
|
| /freebsd/contrib/llvm-project/llvm/lib/Target/SPIRV/ |
| H A D | SPIRVInstructionSelector.cpp | 2454 Register Cmp0 = I.getOperand(2).getReg(); in selectCmp() local 2456 assert(GR.getSPIRVTypeForVReg(Cmp0)->getOpcode() == in selectCmp() 2462 .addUse(Cmp0) in selectCmp()
|
| /freebsd/contrib/llvm-project/clang/lib/CodeGen/ |
| H A D | MicrosoftCXXABI.cpp | 3039 llvm::Value *Cmp0 = Builder.CreateICmp(Eq, L0, R0, "memptr.cmp.first"); in EmitMemberPointerComparison() local 3064 return Builder.CreateBinOp(And, Res, Cmp0, "memptr.cmp"); in EmitMemberPointerComparison()
|
| /freebsd/contrib/llvm-project/llvm/lib/Target/AArch64/ |
| H A D | AArch64ISelLowering.cpp | 19421 SDValue Cmp0 = CSel0.getOperand(3); in performANDORCSELCombine() local 19425 if (!Cmp0->hasOneUse() || !Cmp1->hasOneUse()) in performANDORCSELCombine() 19428 Cmp0.getOpcode() == AArch64ISD::SUBS) { in performANDORCSELCombine() 19429 std::swap(Cmp0, Cmp1); in performANDORCSELCombine() 19461 NZCVOp, Condition, Cmp0); in performANDORCSELCombine() 19464 Cmp1.getOperand(1), NZCVOp, Condition, Cmp0); in performANDORCSELCombine()
|
| /freebsd/contrib/llvm-project/llvm/lib/Target/X86/ |
| H A D | X86ISelLowering.cpp | 24102 SDValue Cmp0, Cmp1; in LowerVSETCC() local 24104 Cmp0 = DAG.getNode( in LowerVSETCC() 24110 Chain = DAG.getNode(ISD::TokenFactor, dl, MVT::Other, Cmp0.getValue(1), in LowerVSETCC() 24113 Cmp0 = DAG.getNode( in LowerVSETCC() 24118 Cmp = DAG.getNode(CombineOpc, dl, VT, Cmp0, Cmp1); in LowerVSETCC()
|