Searched refs:ICmp (Results 1 - 25 of 64) sorted by relevance

123

/freebsd-11-stable/contrib/llvm-project/llvm/lib/Transforms/Utils/
H A DSimplifyIndVar.cpp87 bool makeIVComparisonInvariant(ICmpInst *ICmp, Value *IVOperand);
88 void eliminateIVComparison(ICmpInst *ICmp, Value *IVOperand);
175 bool SimplifyIndvar::makeIVComparisonInvariant(ICmpInst *ICmp, argument
178 ICmpInst::Predicate Pred = ICmp->getPredicate();
179 if (IVOperand != ICmp->getOperand(0)) {
181 assert(IVOperand == ICmp->getOperand(1) && "Can't find IVOperand");
186 // Get the SCEVs for the ICmp operands (in the specific context of the
188 const Loop *ICmpLoop = LI->getLoopFor(ICmp->getParent());
189 const SCEV *S = SE->getSCEVAtScope(ICmp->getOperand(IVOperIdx), ICmpLoop);
190 const SCEV *X = SE->getSCEVAtScope(ICmp
245 eliminateIVComparison(ICmpInst *ICmp, Value *IVOperand) argument
344 ICmpInst *ICmp = new ICmpInst(Rem, ICmpInst::ICMP_EQ, N, D); local
[all...]
H A DLoopUtils.cpp814 if (Op != Instruction::ICmp && Op != Instruction::FCmp) {
856 if (Op != Instruction::ICmp && Op != Instruction::FCmp) {
914 case Instruction::ICmp:
980 return createSimpleTargetReduction(B, TTI, Instruction::ICmp, Src, Flags);
/freebsd-11-stable/contrib/llvm-project/llvm/lib/FuzzMutate/
H A DOperations.cpp33 Ops.push_back(cmpOpDescriptor(1, Instruction::ICmp, CmpInst::ICMP_EQ));
34 Ops.push_back(cmpOpDescriptor(1, Instruction::ICmp, CmpInst::ICMP_NE));
35 Ops.push_back(cmpOpDescriptor(1, Instruction::ICmp, CmpInst::ICMP_UGT));
36 Ops.push_back(cmpOpDescriptor(1, Instruction::ICmp, CmpInst::ICMP_UGE));
37 Ops.push_back(cmpOpDescriptor(1, Instruction::ICmp, CmpInst::ICMP_ULT));
38 Ops.push_back(cmpOpDescriptor(1, Instruction::ICmp, CmpInst::ICMP_ULE));
39 Ops.push_back(cmpOpDescriptor(1, Instruction::ICmp, CmpInst::ICMP_SGT));
40 Ops.push_back(cmpOpDescriptor(1, Instruction::ICmp, CmpInst::ICMP_SGE));
41 Ops.push_back(cmpOpDescriptor(1, Instruction::ICmp, CmpInst::ICMP_SLT));
42 Ops.push_back(cmpOpDescriptor(1, Instruction::ICmp, CmpIns
[all...]
/freebsd-11-stable/contrib/llvm-project/llvm/lib/CodeGen/
H A DHardwareLoops.cpp356 auto ICmp = cast<ICmpInst>(BI->getCondition());
357 LLVM_DEBUG(dbgs() << " - Found condition: " << *ICmp << "\n");
358 if (!ICmp->isEquality())
361 auto IsCompareZero = [](ICmpInst *ICmp, Value *Count, unsigned OpIdx) {
362 if (auto *Const = dyn_cast<ConstantInt>(ICmp->getOperand(OpIdx)))
363 return Const->isZero() && ICmp->getOperand(OpIdx ^ 1) == Count;
367 if (!IsCompareZero(ICmp, Count, 0) && !IsCompareZero(ICmp, Count, 1))
370 unsigned SuccIdx = ICmp->getPredicate() == ICmpInst::ICMP_NE ? 0 : 1;
H A DTypePromotion.cpp268 if (auto *ICmp = dyn_cast<ICmpInst>(V))
269 return ICmp->isSigned() || LessThanTypeSize(ICmp->getOperand(0));
765 case Instruction::ICmp:
965 auto *ICmp = cast<ICmpInst>(&I); local
967 if (ICmp->isSigned() ||
968 !isa<IntegerType>(ICmp->getOperand(0)->getType()))
971 LLVM_DEBUG(dbgs() << "IR Promotion: Searching from: " << *ICmp << "\n");
973 for (auto &Op : ICmp->operands()) {
979 if (TLI->getTypeAction(ICmp
[all...]
H A DExpandReductions.cpp51 return Instruction::ICmp;
/freebsd-11-stable/contrib/llvm-project/llvm/lib/Target/SystemZ/
H A DSystemZTDC.cpp321 else if (I.getOpcode() == Instruction::ICmp)
364 Value *ICmp = IRB.CreateICmp(CmpInst::ICMP_NE, TDC, Zero32); local
365 I->replaceAllUsesWith(ICmp);
H A DSystemZTargetTransformInfo.cpp98 case Instruction::ICmp:
814 if (Opcode == Instruction::ICmp || Opcode == Instruction::FCmp) {
861 case Instruction::ICmp: {
863 // Test. The load is then not foldable, so return 0 cost for the ICmp.
944 case Instruction::ICmp:
949 if (UserI->getOpcode() != Instruction::ICmp) {
977 if (UserI->getOpcode() == Instruction::ICmp)
/freebsd-11-stable/contrib/llvm-project/llvm/lib/Target/WebAssembly/
H A DWebAssemblyFastISel.cpp420 if (const auto *ICmp = dyn_cast<ICmpInst>(V))
421 if (const ConstantInt *C = dyn_cast<ConstantInt>(ICmp->getOperand(1)))
422 if (ICmp->isEquality() && C->isZero() && C->getType()->isIntegerTy(32)) {
423 Not = ICmp->isTrueWhenEqual();
424 return getRegForValue(ICmp->getOperand(0));
1000 const auto *ICmp = cast<ICmpInst>(I); local
1002 bool I32 = getSimpleType(ICmp->getOperand(0)->getType()) != MVT::i64;
1005 switch (ICmp->getPredicate()) {
1044 unsigned LHS = getRegForPromotedValue(ICmp->getOperand(0), IsSigned);
1048 unsigned RHS = getRegForPromotedValue(ICmp
[all...]
/freebsd-11-stable/contrib/llvm-project/llvm/lib/Transforms/InstCombine/
H A DInstCombineCompares.cpp1356 return ICmpInst::Create(Instruction::ICmp, Pred, Masked, Zero);
1385 return ICmpInst::Create(Instruction::ICmp,
3096 return ICmpInst::Create(Instruction::ICmp, NewPred,
3123 return CmpInst::Create(Instruction::ICmp, ICmpInst::ICMP_ULT,
3132 return CmpInst::Create(Instruction::ICmp, ICmpInst::ICMP_UGT,
3145 return CmpInst::Create(Instruction::ICmp, ICmpInst::ICMP_EQ,
3154 return CmpInst::Create(Instruction::ICmp, ICmpInst::ICMP_NE,
4333 static Instruction *foldICmpWithZextOrSext(ICmpInst &ICmp, argument
4335 assert(isa<CastInst>(ICmp.getOperand(0)) && "Expected cast for operand 0");
4336 auto *CastOp0 = cast<CastInst>(ICmp
4426 foldICmpWithCastOp(ICmpInst &ICmp) argument
[all...]
H A DInstCombineAndOrXor.cpp52 /// operands into either a constant true or false, or a brand new ICmp
275 /// Convert an analysis of a masked ICmp into its equivalent if all boolean
934 auto tryToMatchSignedTruncationCheck = [](ICmpInst *ICmp, Value *&X,
938 if (!(match(ICmp,
962 auto tryToDecompose = [](ICmpInst *ICmp, Value *&X,
964 CmpInst::Predicate Pred = ICmp->getPredicate();
966 if (llvm::decomposeBitTestICmp(ICmp->getOperand(0), ICmp->getOperand(1),
973 if (match(ICmp, m_ICmp(Pred, m_And(m_Value(X), m_APInt(Mask)), m_Zero())) &&
/freebsd-11-stable/contrib/llvm-project/llvm/lib/Analysis/
H A DScalarEvolutionExpander.cpp1673 Value *ICmp = Builder.CreateICmpSGT(LHS, RHS); local
1674 rememberInstruction(ICmp);
1675 Value *Sel = Builder.CreateSelect(ICmp, LHS, RHS, "smax");
1698 Value *ICmp = Builder.CreateICmpUGT(LHS, RHS); local
1699 rememberInstruction(ICmp);
1700 Value *Sel = Builder.CreateSelect(ICmp, LHS, RHS, "umax");
1723 Value *ICmp = Builder.CreateICmpSLT(LHS, RHS); local
1724 rememberInstruction(ICmp);
1725 Value *Sel = Builder.CreateSelect(ICmp, LHS, RHS, "smin");
1748 Value *ICmp local
[all...]
H A DCaptureTracking.cpp349 case Instruction::ICmp: {
H A DCFLGraph.h185 return CE->getOpcode() != Instruction::ICmp &&
579 case Instruction::ICmp:
H A DIVDescriptors.cpp457 /// Returns true if the instruction is a Select(ICmp(X, Y), X, Y) instruction
588 case Instruction::ICmp:
790 return Instruction::ICmp;
H A DObjCARCInstKind.cpp286 case Instruction::ICmp:
/freebsd-11-stable/contrib/llvm-project/llvm/lib/Transforms/Scalar/
H A DSpeculativeExecution.cpp245 case Instruction::ICmp:
H A DIndVarSimplify.cpp2087 ICmpInst *ICmp = dyn_cast<ICmpInst>(BI->getCondition()); local
2089 if (!ICmp)
2093 return ICmp->getOperand(0) == V || ICmp->getOperand(1) == V;
/freebsd-11-stable/contrib/llvm-project/llvm/include/llvm/CodeGen/
H A DBasicTTIImpl.h1165 Cost += ConcreteTTI->getCmpSelInstrCost(BinaryOperator::ICmp, RetTy,
1350 Cost += ConcreteTTI->getCmpSelInstrCost(BinaryOperator::ICmp, RetTy,
1412 Cost += 3 * ConcreteTTI->getCmpSelInstrCost(BinaryOperator::ICmp, SumTy,
1415 BinaryOperator::ICmp, OverflowTy, OverflowTy, nullptr);
1430 Cost += ConcreteTTI->getCmpSelInstrCost(BinaryOperator::ICmp, SumTy,
1458 Cost += ConcreteTTI->getCmpSelInstrCost(BinaryOperator::ICmp, MulTy,
1669 CmpOpcode = Instruction::ICmp;
/freebsd-11-stable/contrib/llvm-project/llvm/lib/Transforms/Instrumentation/
H A DControlHeightReduction.cpp1527 // Negate the predicate if an ICmp if it's used only by branches or selects by
1529 static bool negateICmpIfUsedByBranchOrSelectOnly(ICmpInst *ICmp, argument
1532 for (User *U : ICmp->users()) {
1537 if (isa<SelectInst>(U) && cast<SelectInst>(U)->getCondition() == ICmp)
1541 for (User *U : ICmp->users()) {
1571 ICmp->setPredicate(CmpInst::getInversePredicate(ICmp->getPredicate()));
1969 if (auto *ICmp = dyn_cast<ICmpInst>(Cond))
1970 if (negateICmpIfUsedByBranchOrSelectOnly(ICmp, BranchOrSelect, Scope)) {
/freebsd-11-stable/contrib/llvm-project/llvm/lib/Target/NVPTX/
H A DNVPTXGenericToNVVM.cpp258 case Instruction::ICmp:
/freebsd-11-stable/contrib/llvm-project/llvm/lib/Target/AMDGPU/
H A DAMDGPUPromoteAlloca.cpp568 if (ICmpInst *ICmp = dyn_cast<ICmpInst>(UseInst)) {
569 if (!binaryOpIsDerivedFromSameAlloca(BaseAlloca, Val, ICmp, 0, 1))
573 WorkList.push_back(ICmp);
/freebsd-11-stable/contrib/llvm-project/llvm/lib/IR/
H A DConstantsContext.h266 // behind the scenes to implement ICmp and FCmp constant expressions. This is
287 return CE->getOpcode() == Instruction::ICmp ||
560 case Instruction::ICmp:
561 return new CompareConstantExpr(Ty, Instruction::ICmp, SubclassData,
/freebsd-11-stable/contrib/llvm-project/llvm/lib/Transforms/Vectorize/
H A DSLPVectorizer.cpp2770 case Instruction::ICmp:
3376 case Instruction::ICmp:
4213 case Instruction::ICmp: {
6142 ((Opcode == Instruction::ICmp || Opcode == Instruction::FCmp) &&
6144 (Opcode == Instruction::ICmp &&
6158 Cmp = Opcode == Instruction::ICmp ? Builder.CreateICmpSLT(LHS, RHS)
6162 Cmp = Opcode == Instruction::ICmp ? Builder.CreateICmpSGT(LHS, RHS)
6166 assert(Opcode == Instruction::ICmp && "Expected integer types.");
6170 assert(Opcode == Instruction::ICmp && "Expected integer types.");
6289 return Opcode == Instruction::ICmp ||
[all...]
/freebsd-11-stable/contrib/llvm-project/llvm/lib/Target/ARM/
H A DARMTargetTransformInfo.cpp135 if (Opcode == Instruction::ICmp && Imm.isNegative() &&
761 case Instruction::ICmp:
1290 case Instruction::ICmp:

Completed in 337 milliseconds

123