| /src/external/apache2/llvm/dist/llvm/lib/FuzzMutate/ |
| Operations.cpp | 33 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, CmpInst::ICMP_SLE)) [all...] |
| IRMutator.cpp | 219 case Instruction::ICmp:
|
| /src/external/apache2/llvm/dist/llvm/lib/Transforms/Utils/ |
| SimplifyIndVar.cpp | 89 bool makeIVComparisonInvariant(ICmpInst *ICmp, Value *IVOperand); 90 void eliminateIVComparison(ICmpInst *ICmp, Value *IVOperand); 195 bool SimplifyIndvar::makeIVComparisonInvariant(ICmpInst *ICmp, 198 ICmpInst::Predicate Pred = ICmp->getPredicate(); 199 if (IVOperand != ICmp->getOperand(0)) { 201 assert(IVOperand == ICmp->getOperand(1) && "Can't find IVOperand"); 206 // Get the SCEVs for the ICmp operands (in the specific context of the 208 const Loop *ICmpLoop = LI->getLoopFor(ICmp->getParent()); 209 const SCEV *S = SE->getSCEVAtScope(ICmp->getOperand(IVOperIdx), ICmpLoop); 210 const SCEV *X = SE->getSCEVAtScope(ICmp->getOperand(1 - IVOperIdx), ICmpLoop) [all...] |
| ScalarEvolutionExpander.cpp | 1741 Value *ICmp = Builder.CreateICmpSGT(LHS, RHS); 1742 Sel = Builder.CreateSelect(ICmp, LHS, RHS, "smax"); 1770 Value *ICmp = Builder.CreateICmpUGT(LHS, RHS); 1771 Sel = Builder.CreateSelect(ICmp, LHS, RHS, "umax"); 1799 Value *ICmp = Builder.CreateICmpSLT(LHS, RHS); 1800 Sel = Builder.CreateSelect(ICmp, LHS, RHS, "smin"); 1828 Value *ICmp = Builder.CreateICmpULT(LHS, RHS); 1829 Sel = Builder.CreateSelect(ICmp, LHS, RHS, "umin"); 2308 Cost += CmpSelCost(Instruction::ICmp, S->getNumOperands() - 1, 0, 1);
|
| /src/external/apache2/llvm/dist/llvm/lib/CodeGen/ |
| HardwareLoops.cpp | 355 // Check that the icmp is checking for equality of Count and zero and that 357 auto ICmp = cast<ICmpInst>(BI->getCondition()); 358 LLVM_DEBUG(dbgs() << " - Found condition: " << *ICmp << "\n"); 359 if (!ICmp->isEquality()) 362 auto IsCompareZero = [](ICmpInst *ICmp, Value *Count, unsigned OpIdx) { 363 if (auto *Const = dyn_cast<ConstantInt>(ICmp->getOperand(OpIdx))) 364 return Const->isZero() && ICmp->getOperand(OpIdx ^ 1) == Count; 368 if (!IsCompareZero(ICmp, Count, 0) && !IsCompareZero(ICmp, Count, 1)) 371 unsigned SuccIdx = ICmp->getPredicate() == ICmpInst::ICMP_NE ? 0 : 1 [all...] |
| TypePromotion.cpp | 12 /// of selection dag for cyclic regions. The search begins from icmp 60 // %3 = icmp ult i8 %2, 3 89 // %1 = icmp ult i32 %c.off, 3 258 // icmp, switch or store. 270 if (auto *ICmp = dyn_cast<ICmpInst>(V)) 271 return ICmp->isSigned() || LessThanTypeSize(ICmp->getOperand(0)); 279 // - It is only used by an unsigned icmp. 280 // - The icmp uses a constant. 287 // just underflows the range, the icmp would give the same result whether th [all...] |
| ExpandReductions.cpp | 51 return Instruction::ICmp;
|
| /src/external/apache2/llvm/dist/llvm/lib/Target/SystemZ/ |
| SystemZTDC.cpp | 18 // 5: icmp slt (bitcast float X to int), 0 -> tdc X, mask [ie. signbit] 19 // 6: icmp sgt (bitcast float X to int), -1 -> tdc X, mask 20 // 7: icmp ne/eq (call @llvm.s390.tdc.*(X, mask)) -> tdc X, mask/~mask 27 // 1. All fcmp and icmp instructions in a function are checked for a match 95 // Tries to convert an icmp instruction. 244 // All our icmp rules involve comparisons with consts. 248 // Check for icmp+bitcast used for signbit. 256 // icmp slt (bitcast X), 0 - set if sign bit true 259 // icmp sgt (bitcast X), -1 - set if sign bit false 282 // icmp ne (call llvm.s390.tdc(...)), 0 -> simple TD [all...] |
| SystemZTargetTransformInfo.cpp | 101 case Instruction::ICmp: 882 case Instruction::ICmp: { 884 // Test. The load is then not foldable, so return 0 cost for the ICmp. 908 if (Opcode == Instruction::ICmp || Opcode == Instruction::FCmp) { 1014 case Instruction::ICmp: 1019 if (UserI->getOpcode() != Instruction::ICmp) { 1047 if (UserI->getOpcode() == Instruction::ICmp)
|
| /src/external/apache2/llvm/dist/llvm/lib/Target/WebAssembly/ |
| WebAssemblyFastISel.cpp | 419 if (const auto *ICmp = dyn_cast<ICmpInst>(V)) 420 if (const ConstantInt *C = dyn_cast<ConstantInt>(ICmp->getOperand(1))) 421 if (ICmp->isEquality() && C->isZero() && C->getType()->isIntegerTy(32)) { 422 Not = ICmp->isTrueWhenEqual(); 423 return getRegForValue(ICmp->getOperand(0)); 1025 const auto *ICmp = cast<ICmpInst>(I); 1027 bool I32 = getSimpleType(ICmp->getOperand(0)->getType()) != MVT::i64; 1030 switch (ICmp->getPredicate()) { 1069 unsigned LHS = getRegForPromotedValue(ICmp->getOperand(0), IsSigned); 1073 unsigned RHS = getRegForPromotedValue(ICmp->getOperand(1), IsSigned) [all...] |
| /src/external/apache2/llvm/dist/llvm/lib/Transforms/InstCombine/ |
| InstCombineCompares.cpp | 64 /// Given an icmp instruction, return true if any use of this comparison is a 73 /// Returns true if the exploded icmp can be expressed as a signed comparison 103 /// we can optimize "icmp eq (load (gep "foo", 0, i)), 0" into "icmp eq i, 3". 379 /// "icmp ne i, 0". Note that, in general, indices can be complex, and scales 381 /// "icmp ne (i*4), 0" (assuming A is a pointer to i32). 812 // and would change the result of the icmp. 971 // Only lower this if the icmp is the only user of the GEP or if we expect 1064 /// Fold "icmp pred (X+C), X". 1112 /// Handle "(icmp eq/ne (ashr/lshr AP2, A), AP1)" - [all...] |
| /src/external/apache2/llvm/dist/llvm/lib/Analysis/ |
| CaptureTracking.cpp | 335 case Instruction::ICmp: {
|
| IVDescriptors.cpp | 249 // To recognize min/max patterns formed by a icmp select sequence, we store 626 case Instruction::ICmp: 859 return Instruction::ICmp; 879 // to check for a pair of icmp/select, for which we use getNextInstruction and 881 // check the icmp/select pair. 889 if (RedOp == Instruction::ICmp || RedOp == Instruction::FCmp) 893 if (RedOp == Instruction::ICmp || RedOp == Instruction::FCmp) { 894 // We are expecting a icmp/select pair, which we go to the next select 904 if (RedOp == Instruction::ICmp || RedOp == Instruction::FCmp) {
|
| CFLGraph.h | 185 return CE->getOpcode() != Instruction::ICmp && 586 case Instruction::ICmp:
|
| ObjCARCInstKind.cpp | 286 case Instruction::ICmp:
|
| /src/external/apache2/llvm/dist/llvm/lib/Transforms/Scalar/ |
| SpeculativeExecution.cpp | 246 case Instruction::ICmp:
|
| IndVarSimplify.cpp | 701 ICmpInst *ICmp = dyn_cast<ICmpInst>(BI->getCondition()); 702 // TODO: Allow non-icmp loop test. 703 if (!ICmp) 707 return ICmp->getOperand(0) == V || ICmp->getOperand(1) == V; 723 // Do LFTR to simplify the exit condition to an ICMP. 728 // Do LFTR to simplify the exit ICMP to EQ/NE
|
| /src/external/apache2/llvm/dist/llvm/include/llvm/CodeGen/ |
| BasicTTIImpl.h | 1256 // %mask = icmp ult <8 x i32> %vec1, %vec2 1425 thisT()->getCmpSelInstrCost(BinaryOperator::ICmp, RetTy, CondTy, 1670 // abs(X) = select(icmp(X,0),X,sub(0,X)) 1671 // minmax(X,Y) = select(icmp(X,Y),X,Y) 1674 // TODO: Ideally getCmpSelInstrCost would accept an icmp condition code. 1676 thisT()->getCmpSelInstrCost(BinaryOperator::ICmp, RetTy, CondTy, 1703 thisT()->getCmpSelInstrCost(BinaryOperator::ICmp, RetTy, CondTy, 1771 Instruction::ICmp, SumTy, OverflowTy, 1791 thisT()->getCmpSelInstrCost(BinaryOperator::ICmp, SumTy, OverflowTy, 1822 thisT()->getCmpSelInstrCost(BinaryOperator::ICmp, MulTy, OverflowTy [all...] |
| /src/external/apache2/llvm/dist/llvm/lib/Transforms/Instrumentation/ |
| ControlHeightReduction.cpp | 1519 // Negate the predicate if an ICmp if it's used only by branches or selects by 1521 static bool negateICmpIfUsedByBranchOrSelectOnly(ICmpInst *ICmp, 1524 for (User *U : ICmp->users()) { 1529 if (isa<SelectInst>(U) && cast<SelectInst>(U)->getCondition() == ICmp) 1533 for (User *U : ICmp->users()) { 1563 ICmp->setPredicate(CmpInst::getInversePredicate(ICmp->getPredicate())); 1954 // If Cond is an icmp and all users of V except for BranchOrSelect is a 1955 // branch, negate the icmp predicate and swap the branch targets and avoid 1958 if (auto *ICmp = dyn_cast<ICmpInst>(Cond) [all...] |
| /src/external/apache2/llvm/dist/llvm/lib/Target/ARM/ |
| MVELaneInterleavingPass.cpp | 233 case Instruction::ICmp:
|
| /src/external/apache2/llvm/dist/llvm/lib/Target/NVPTX/ |
| NVPTXGenericToNVVM.cpp | 258 case Instruction::ICmp: 259 // CompareConstantExpr (icmp)
|
| /src/external/apache2/llvm/dist/llvm/lib/IR/ |
| ConstantsContext.h | 313 // behind the scenes to implement ICmp and FCmp constant expressions. This is 334 return CE->getOpcode() == Instruction::ICmp || 635 case Instruction::ICmp: 636 return new CompareConstantExpr(Ty, Instruction::ICmp, SubclassData,
|
| /src/external/apache2/llvm/dist/llvm/lib/Target/AMDGPU/ |
| AMDGPUPromoteAlloca.cpp | 89 /// indices to an instruction with 2 pointer inputs (e.g. select, icmp). 647 if (ICmpInst *ICmp = dyn_cast<ICmpInst>(UseInst)) { 648 if (!binaryOpIsDerivedFromSameAlloca(BaseAlloca, Val, ICmp, 0, 1)) 652 WorkList.push_back(ICmp);
|
| /src/external/apache2/llvm/dist/llvm/lib/Transforms/Vectorize/ |
| VectorCombine.cpp | 300 assert((Opcode == Instruction::ICmp || Opcode == Instruction::FCmp) && 716 : Instruction::ICmp;
|
| /src/external/apache2/llvm/dist/llvm/lib/Target/AArch64/GISel/ |
| AArch64InstructionSelector.cpp | 121 bool selectCompareBranchFedByICmp(MachineInstr &I, MachineInstr &ICmp, 123 bool tryOptCompareBranchFedByICmp(MachineInstr &I, MachineInstr &ICmp, 1478 MachineInstr &I, MachineInstr &ICmp, MachineIRBuilder &MIB) const { 1479 assert(ICmp.getOpcode() == TargetOpcode::G_ICMP); 1492 static_cast<CmpInst::Predicate>(ICmp.getOperand(1).getPredicate()); 1493 Register LHS = ICmp.getOperand(2).getReg(); 1494 Register RHS = ICmp.getOperand(3).getReg(); 1564 MachineInstr &I, MachineInstr &ICmp, MachineIRBuilder &MIB) const { 1565 assert(ICmp.getOpcode() == TargetOpcode::G_ICMP); 1567 if (tryOptCompareBranchFedByICmp(I, ICmp, MIB) [all...] |