Home
last modified time | relevance | path

Searched refs:ICmp (Results 1 – 25 of 90) sorted by relevance

1234

/openbsd/gnu/llvm/llvm/lib/Transforms/Scalar/
H A DLoopBoundSplit.cpp33 ICmpInst *ICmp = nullptr; member
51 static void analyzeICmp(ScalarEvolution &SE, ICmpInst *ICmp, in analyzeICmp() argument
53 Cond.ICmp = ICmp; in analyzeICmp()
54 if (match(ICmp, m_ICmp(Cond.Pred, m_Value(Cond.AddRecValue), in analyzeICmp()
83 const SCEV *ExitCount = SE.getExitCount(&L, Cond.ICmp->getParent()); in calculateUpperBound()
126 ICmpInst *ICmp, ConditionInfo &Cond, in hasProcessableCondition() argument
128 analyzeICmp(SE, ICmp, Cond, L); in hasProcessableCondition()
215 ICmpInst *ICmp = cast<ICmpInst>(ExitingBI->getCondition()); in canSplitLoopBound() local
264 ICmpInst *ICmp = cast<ICmpInst>(BI->getCondition()); in findSplitCandidate() local
265 if (!hasProcessableCondition(L, SE, ICmp, SplitCandidateCond, in findSplitCandidate()
[all …]
H A DIndVarSimplify.cpp706 if (!ICmp) in isLoopExitTestBasedOn()
710 return ICmp->getOperand(0) == V || ICmp->getOperand(1) == V; in isLoopExitTestBasedOn()
1379 Value *LHS = ICmp->getOperand(0); in createReplacement()
1380 Value *RHS = ICmp->getOperand(1); in createReplacement()
1557 if (!ICmp || !ICmp->hasOneUse()) in canonicalizeExitCondition()
1560 auto *LHS = ICmp->getOperand(0); in canonicalizeExitCondition()
1561 auto *RHS = ICmp->getOperand(1); in canonicalizeExitCondition()
1586 ICmp->setPredicate(ICmp->getUnsignedPredicate()); in canonicalizeExitCondition()
1603 if (!ICmp || !ICmp->hasOneUse() || !ICmp->isUnsigned()) in canonicalizeExitCondition()
1607 auto *LHS = ICmp->getOperand(0); in canonicalizeExitCondition()
[all …]
H A DLoopDeletion.cpp337 auto *ICmp = dyn_cast<ICmpInst>(Cond); in canProveExitOnFirstIteration() local
338 if (!ICmp || !ICmp->getType()->isIntegerTy()) { in canProveExitOnFirstIteration()
344 auto *KnownCondition = getValueOnFirstIteration(ICmp, FirstIterValue, SQ); in canProveExitOnFirstIteration()
345 if (KnownCondition == ICmp) { in canProveExitOnFirstIteration()
H A DSpeculativeExecution.cpp246 case Instruction::ICmp: in ComputeSpeculationCost()
H A DCorrelatedValuePropagation.cpp364 if (auto *ICmp = dyn_cast<ICmpInst>(Cmp)) in processCmp() local
365 if (processICmp(ICmp, LVI)) in processCmp()
1160 case Instruction::ICmp: in runImpl()
/openbsd/gnu/llvm/llvm/lib/CodeGen/
H A DHardwareLoops.cpp354 auto ICmp = cast<ICmpInst>(BI->getCondition()); in CanGenerateTest() local
355 LLVM_DEBUG(dbgs() << " - Found condition: " << *ICmp << "\n"); in CanGenerateTest()
356 if (!ICmp->isEquality()) in CanGenerateTest()
359 auto IsCompareZero = [](ICmpInst *ICmp, Value *Count, unsigned OpIdx) { in CanGenerateTest() argument
360 if (auto *Const = dyn_cast<ConstantInt>(ICmp->getOperand(OpIdx))) in CanGenerateTest()
361 return Const->isZero() && ICmp->getOperand(OpIdx ^ 1) == Count; in CanGenerateTest()
369 if (!IsCompareZero(ICmp, Count, 0) && !IsCompareZero(ICmp, Count, 1) && in CanGenerateTest()
370 !IsCompareZero(ICmp, CountBefZext, 0) && in CanGenerateTest()
371 !IsCompareZero(ICmp, CountBefZext, 1)) in CanGenerateTest()
374 unsigned SuccIdx = ICmp->getPredicate() == ICmpInst::ICMP_NE ? 0 : 1; in CanGenerateTest()
H A DTypePromotion.cpp269 if (auto *ICmp = dyn_cast<ICmpInst>(V)) in isSink() local
270 return ICmp->isSigned() || LessThanTypeSize(ICmp->getOperand(0)); in isSink()
498 (I->getOpcode() == Instruction::ICmp || i == 1) && in PromoteTree()
731 case Instruction::ICmp: in isSupportedValue()
974 } else if (auto *ICmp = dyn_cast<ICmpInst>(&I)) { in run() local
977 if (ICmp->isSigned()) in run()
980 LLVM_DEBUG(dbgs() << "IR Promotion: Searching from: " << *ICmp << "\n"); in run()
982 for (auto &Op : ICmp->operands()) { in run()
H A DExpandReductions.cpp49 return Instruction::ICmp; in getOpcode()
/openbsd/gnu/llvm/llvm/lib/FuzzMutate/
H A DOperations.cpp33 Ops.push_back(cmpOpDescriptor(1, Instruction::ICmp, CmpInst::ICMP_EQ)); in describeFuzzerIntOps()
34 Ops.push_back(cmpOpDescriptor(1, Instruction::ICmp, CmpInst::ICMP_NE)); in describeFuzzerIntOps()
35 Ops.push_back(cmpOpDescriptor(1, Instruction::ICmp, CmpInst::ICMP_UGT)); in describeFuzzerIntOps()
36 Ops.push_back(cmpOpDescriptor(1, Instruction::ICmp, CmpInst::ICMP_UGE)); in describeFuzzerIntOps()
37 Ops.push_back(cmpOpDescriptor(1, Instruction::ICmp, CmpInst::ICMP_ULT)); in describeFuzzerIntOps()
38 Ops.push_back(cmpOpDescriptor(1, Instruction::ICmp, CmpInst::ICMP_ULE)); in describeFuzzerIntOps()
39 Ops.push_back(cmpOpDescriptor(1, Instruction::ICmp, CmpInst::ICMP_SGT)); in describeFuzzerIntOps()
40 Ops.push_back(cmpOpDescriptor(1, Instruction::ICmp, CmpInst::ICMP_SGE)); in describeFuzzerIntOps()
41 Ops.push_back(cmpOpDescriptor(1, Instruction::ICmp, CmpInst::ICMP_SLT)); in describeFuzzerIntOps()
42 Ops.push_back(cmpOpDescriptor(1, Instruction::ICmp, CmpInst::ICMP_SLE)); in describeFuzzerIntOps()
[all …]
H A DIRMutator.cpp232 case Instruction::ICmp: in mutate()
321 case Instruction::ICmp: in mutate()
/openbsd/gnu/llvm/llvm/lib/Transforms/Utils/
H A DSimplifyIndVar.cpp198 if (IVOperand != ICmp->getOperand(0)) { in makeIVComparisonInvariant()
227 ICmp->setPredicate(InvariantPredicate); in makeIVComparisonInvariant()
228 ICmp->setOperand(0, NewLHS); in makeIVComparisonInvariant()
229 ICmp->setOperand(1, NewRHS); in makeIVComparisonInvariant()
240 if (IVOperand != ICmp->getOperand(0)) { in eliminateIVComparison()
256 for (auto *U : ICmp->users()) in eliminateIVComparison()
260 SE->forgetValue(ICmp); in eliminateIVComparison()
261 ICmp->replaceAllUsesWith(ConstantInt::getBool(ICmp->getContext(), *Ev)); in eliminateIVComparison()
262 DeadInsts.emplace_back(ICmp); in eliminateIVComparison()
1561 auto Pred = ICmp->getPredicate(); in widenWithVariantUse()
[all …]
/openbsd/gnu/llvm/llvm/lib/Target/BPF/
H A DBPFCheckAndAdjustIR.cpp155 auto *ICmp = new ICmpInst(Opcode, Arg1, Arg2); in removeCompareBuiltin() local
156 ICmp->insertBefore(Call); in removeCompareBuiltin()
158 Call->replaceAllUsesWith(ICmp); in removeCompareBuiltin()
/openbsd/gnu/llvm/llvm/lib/Target/AMDGPU/
H A DAMDGPULowerKernelAttributes.cpp226 for (User *ICmp : BlockCount->users()) { in processUse()
228 if (match(ICmp, m_ICmp(Pred, GroupIDIntrin, m_Specific(BlockCount)))) { in processUse()
231 ICmp->replaceAllUsesWith(llvm::ConstantInt::getTrue(ICmp->getType())); in processUse()
H A DAMDGPUPromoteAlloca.cpp720 if (ICmpInst *ICmp = dyn_cast<ICmpInst>(UseInst)) { in collectUsesWithPtrTypes() local
721 if (!binaryOpIsDerivedFromSameAlloca(BaseAlloca, Val, ICmp, 0, 1)) in collectUsesWithPtrTypes()
725 WorkList.push_back(ICmp); in collectUsesWithPtrTypes()
/openbsd/gnu/llvm/llvm/lib/Target/WebAssembly/
H A DWebAssemblyFastISel.cpp425 if (const auto *ICmp = dyn_cast<ICmpInst>(V)) in getRegForI1Value() local
428 ICmp->getParent() == BB) { in getRegForI1Value()
429 Not = ICmp->isTrueWhenEqual(); in getRegForI1Value()
430 return getRegForValue(ICmp->getOperand(0)); in getRegForI1Value()
1027 const auto *ICmp = cast<ICmpInst>(I); in selectICmp() local
1029 bool I32 = getSimpleType(ICmp->getOperand(0)->getType()) != MVT::i64; in selectICmp()
1032 switch (ICmp->getPredicate()) { in selectICmp()
1071 unsigned LHS = getRegForPromotedValue(ICmp->getOperand(0), IsSigned); in selectICmp()
1075 unsigned RHS = getRegForPromotedValue(ICmp->getOperand(1), IsSigned); in selectICmp()
1083 updateValueMap(ICmp, ResultReg); in selectICmp()
[all …]
/openbsd/gnu/llvm/llvm/lib/Target/SystemZ/
H A DSystemZTDC.cpp331 else if (I.getOpcode() == Instruction::ICmp) in runOnFunction()
374 Value *ICmp = IRB.CreateICmp(CmpInst::ICMP_NE, TDC, Zero32); in runOnFunction() local
375 I->replaceAllUsesWith(ICmp); in runOnFunction()
H A DSystemZTargetTransformInfo.cpp137 case Instruction::ICmp: in getIntImmCostInst()
929 case Instruction::ICmp: { in getCmpSelInstrCost()
955 if (Opcode == Instruction::ICmp || Opcode == Instruction::FCmp) { in getCmpSelInstrCost()
1063 case Instruction::ICmp: in isFoldableLoad()
1068 if (UserI->getOpcode() != Instruction::ICmp) { in isFoldableLoad()
1096 if (UserI->getOpcode() == Instruction::ICmp) in isFoldableLoad()
/openbsd/gnu/llvm/llvm/lib/Transforms/InstCombine/
H A DInstCombineCompares.cpp1259 return ICmpInst::Create(Instruction::ICmp, in foldSignBitTest()
4731 return ICmp; in foldICmpEquality()
4793 Value *Op0 = ICmp.getOperand(0), *Op1 = ICmp.getOperand(1); in foldICmpWithTrunc()
4840 bool IsSignedCmp = ICmp.isSigned(); in foldICmpWithZextOrSext()
4863 if (!ICmp.getOperand(0)->hasOneUse() && !ICmp.getOperand(1)->hasOneUse()) in foldICmpWithZextOrSext()
4878 if (ICmp.isEquality()) in foldICmpWithZextOrSext()
4904 if (ICmp.isEquality()) in foldICmpWithZextOrSext()
4926 if (ICmp.getPredicate() == ICmpInst::ICMP_ULT) in foldICmpWithZextOrSext()
4943 return new ICmpInst(ICmp.getPredicate(), in foldICmpWithCastOp()
4950 if (!isa<Constant>(ICmp.getOperand(1)) && !isa<CastInst>(ICmp.getOperand(1))) in foldICmpWithCastOp()
[all …]
/openbsd/gnu/llvm/llvm/lib/Transforms/Instrumentation/
H A DControlHeightReduction.cpp1507 static bool negateICmpIfUsedByBranchOrSelectOnly(ICmpInst *ICmp, in negateICmpIfUsedByBranchOrSelectOnly() argument
1510 for (User *U : ICmp->users()) { in negateICmpIfUsedByBranchOrSelectOnly()
1515 if (isa<SelectInst>(U) && cast<SelectInst>(U)->getCondition() == ICmp) in negateICmpIfUsedByBranchOrSelectOnly()
1519 for (User *U : ICmp->users()) { in negateICmpIfUsedByBranchOrSelectOnly()
1549 ICmp->setPredicate(CmpInst::getInversePredicate(ICmp->getPredicate())); in negateICmpIfUsedByBranchOrSelectOnly()
1959 auto *ICmp = dyn_cast<ICmpInst>(Cond); in addToMergedCondition() local
1960 if (!ICmp || in addToMergedCondition()
1961 !negateICmpIfUsedByBranchOrSelectOnly(ICmp, BranchOrSelect, Scope)) in addToMergedCondition()
/openbsd/gnu/llvm/llvm/include/llvm/CodeGen/
H A DBasicTTIImpl.h1643 thisT()->getCmpSelInstrCost(BinaryOperator::ICmp, RetTy, CondTy, in getIntrinsicInstrCost()
1668 Cost += thisT()->getCmpSelInstrCost(BinaryOperator::ICmp, ExpRetTy, RetTy, in getIntrinsicInstrCost()
1902 Cost += thisT()->getCmpSelInstrCost(BinaryOperator::ICmp, RetTy, CondTy, in getTypeBasedIntrinsicInstrCost()
1921 Cost += thisT()->getCmpSelInstrCost(BinaryOperator::ICmp, RetTy, CondTy, in getTypeBasedIntrinsicInstrCost()
1943 Cost += thisT()->getCmpSelInstrCost(BinaryOperator::ICmp, RetTy, CondTy, in getTypeBasedIntrinsicInstrCost()
2007 Instruction::ICmp, SumTy, OverflowTy, in getTypeBasedIntrinsicInstrCost()
2027 thisT()->getCmpSelInstrCost(BinaryOperator::ICmp, SumTy, OverflowTy, in getTypeBasedIntrinsicInstrCost()
2060 BinaryOperator::ICmp, MulTy, OverflowTy, CmpInst::ICMP_NE, CostKind); in getTypeBasedIntrinsicInstrCost()
2260 thisT()->getCmpSelInstrCost(Instruction::ICmp, ValTy, in getTreeReductionCost()
2361 CmpOpcode = Instruction::ICmp; in getMinMaxReductionCost()
/openbsd/gnu/llvm/llvm/lib/IR/
H A DConstantsContext.h264 return CE->getOpcode() == Instruction::ICmp || in classof()
537 case Instruction::ICmp:
538 return new CompareConstantExpr(Ty, Instruction::ICmp, SubclassData,
/openbsd/gnu/llvm/llvm/lib/Analysis/
H A DIVDescriptors.cpp794 case Instruction::ICmp: in isRecurrenceInstr()
1152 return Instruction::ICmp; in getOpcode()
1183 if (RedOp == Instruction::ICmp || RedOp == Instruction::FCmp) in getReductionOpChain()
1191 if (RedOp == Instruction::ICmp || RedOp == Instruction::FCmp) { in getReductionOpChain()
1203 if (RedOp == Instruction::ICmp || RedOp == Instruction::FCmp) { in getReductionOpChain()
H A DCaptureTracking.cpp386 case Instruction::ICmp: { in DetermineUseCaptureKind()
/openbsd/gnu/llvm/llvm/lib/Target/NVPTX/
H A DNVPTXGenericToNVVM.cpp254 case Instruction::ICmp: in remapConstantExpr()
/openbsd/gnu/llvm/llvm/lib/Target/ARM/
H A DMVELaneInterleavingPass.cpp233 case Instruction::ICmp: in tryInterleave()

1234