| /freebsd/contrib/llvm-project/llvm/lib/Transforms/Scalar/ |
| H A D | MergeICmps.cpp | 188 const ICmpInst *CmpI; member 190 BCECmp(BCEAtom L, BCEAtom R, int SizeBits, const ICmpInst *CmpI) in BCECmp() 191 : Lhs(std::move(L)), Rhs(std::move(R)), SizeBits(SizeBits), CmpI(CmpI) { in BCECmp() 305 std::optional<BCECmp> visitICmp(const ICmpInst *const CmpI, in visitICmp() argument 313 if (!CmpI->hasOneUse()) { in visitICmp() 317 if (CmpI->getPredicate() != ExpectedPredicate) in visitICmp() 322 auto Lhs = visitICmpLoadOperand(CmpI->getOperand(0), BaseId); in visitICmp() 325 auto Rhs = visitICmpLoadOperand(CmpI->getOperand(1), BaseId); in visitICmp() 328 const auto &DL = CmpI->getDataLayout(); in visitICmp() 330 DL.getTypeSizeInBits(CmpI->getOperand(0)->getType()), CmpI); in visitICmp() [all …]
|
| H A D | LowerExpectIntrinsic.cpp | 289 ICmpInst *CmpI = dyn_cast<ICmpInst>(BSI.getCondition()); in handleBrSelExpect() local 292 if (!CmpI) { in handleBrSelExpect() 296 Predicate = CmpI->getPredicate(); in handleBrSelExpect() 300 CmpConstOperand = dyn_cast<ConstantInt>(CmpI->getOperand(1)); in handleBrSelExpect() 303 CI = dyn_cast<CallInst>(CmpI->getOperand(0)); in handleBrSelExpect() 345 if (CmpI) in handleBrSelExpect() 346 CmpI->setOperand(0, ArgValue); in handleBrSelExpect()
|
| H A D | ConstraintElimination.cpp | 1244 auto *CmpI = dyn_cast<ICmpInst>(Br->getCondition()); in addInfoFor() local 1245 if (!CmpI) in addInfoFor() 1249 DT.getNode(Br->getSuccessor(0)), CmpI->getCmpPredicate(), in addInfoFor() 1250 CmpI->getOperand(0), CmpI->getOperand(1))); in addInfoFor() 1253 DT.getNode(Br->getSuccessor(1)), CmpI->getInverseCmpPredicate(), in addInfoFor() 1254 CmpI->getOperand(0), CmpI->getOperand(1))); in addInfoFor()
|
| H A D | GVN.cpp | 2186 if (auto *CmpI = dyn_cast<CmpInst>(V)) { in processAssumeIntrinsic() local 2187 if (CmpI->isEquivalence()) { in processAssumeIntrinsic() 2188 Value *CmpLHS = CmpI->getOperand(0); in processAssumeIntrinsic() 2189 Value *CmpRHS = CmpI->getOperand(1); in processAssumeIntrinsic()
|
| /freebsd/contrib/llvm-project/llvm/lib/CodeGen/ |
| H A D | SelectOptimize.cpp | 809 for (auto *CmpI : SeenCmp) { in collectSelectGroups() local 810 auto Pred = CmpI->getPredicate(); in collectSelectGroups() 811 if (Val != CmpI->getOperand(0)) in collectSelectGroups() 814 match(CmpI->getOperand(1), m_ConstantInt<-1>())) || in collectSelectGroups() 816 match(CmpI->getOperand(1), m_Zero())) || in collectSelectGroups() 818 match(CmpI->getOperand(1), m_Zero())) || in collectSelectGroups() 820 match(CmpI->getOperand(1), m_ConstantInt<-1>()))) { in collectSelectGroups() 823 return SelectInfo.insert({I, {CmpI, true, Inverted, 0}}).first; in collectSelectGroups()
|
| H A D | CodeGenPrepare.cpp | 8828 Instruction *CmpI = nullptr; in optimizeInst() local 8830 CmpI = II; in optimizeInst() 8832 CmpI = F->getFastMathFlags().none() ? F : nullptr; in optimizeInst() 8834 if (CmpI && CmpI->hasOneUse()) { in optimizeInst() 8835 auto Op0 = CmpI->getOperand(0), Op1 = CmpI->getOperand(1); in optimizeInst() 8842 auto *F = new FreezeInst(Const0 ? Op1 : Op0, "", CmpI->getIterator()); in optimizeInst() 8844 CmpI->setOperand(Const0 ? 1 : 0, F); in optimizeInst() 8846 replaceAllUsesWith(FI, CmpI, FreshBBs, IsHugeFunc); in optimizeInst()
|
| /freebsd/contrib/llvm-project/llvm/lib/Target/Lanai/ |
| H A D | LanaiInstrInfo.cpp | 207 inline static bool isRedundantFlagInstr(MachineInstr *CmpI, unsigned SrcReg, in isRedundantFlagInstr() argument 210 if (CmpI->getOpcode() == Lanai::SFSUB_F_RR && in isRedundantFlagInstr() 218 if (((CmpI->getOpcode() == Lanai::SFSUB_F_RI_LO && in isRedundantFlagInstr() 220 (CmpI->getOpcode() == Lanai::SFSUB_F_RI_HI && in isRedundantFlagInstr()
|
| /freebsd/contrib/llvm-project/llvm/lib/Target/Hexagon/ |
| H A D | HexagonHardwareLoops.cpp | 226 bool orderBumpCompare(MachineInstr *BumpI, MachineInstr *CmpI); 1355 MachineInstr *CmpI) { in orderBumpCompare() argument 1356 assert (BumpI != CmpI && "Bump and compare in the same instruction?"); in orderBumpCompare() 1359 if (CmpI->getParent() != BB) in orderBumpCompare() 1366 if (&*I == CmpI) in orderBumpCompare() 1370 Register PredR = CmpI->getOperand(0).getReg(); in orderBumpCompare() 1372 instr_iterator CmpIt = CmpI->getIterator(), NextIt = std::next(CmpIt); in orderBumpCompare() 1384 BB->splice(++BumpI->getIterator(), BB, CmpI->getIterator()); in orderBumpCompare()
|
| H A D | HexagonSplitDouble.cpp | 500 const MachineInstr *CmpI = MRI->getVRegDef(PR); in collectIndRegsForLoop() local 501 while (CmpI->getOpcode() == Hexagon::C2_not) in collectIndRegsForLoop() 502 CmpI = MRI->getVRegDef(CmpI->getOperand(1).getReg()); in collectIndRegsForLoop() 505 bool OkCI = TII->analyzeCompare(*CmpI, CmpR1, CmpR2, Mask, Val); in collectIndRegsForLoop()
|
| /freebsd/contrib/llvm-project/llvm/lib/Target/ARM/ |
| H A D | ARMInstructionSelector.cpp | 581 auto CmpI = in insertComparison() local 586 if (!constrainSelectedInstRegOperands(*CmpI, TII, TRI, RBI)) in insertComparison() 779 auto CmpI = BuildMI(MBB, InsertBefore, DbgLoc, TII.get(Opcodes.TSTri)) in selectSelect() local 783 if (!constrainSelectedInstRegOperands(*CmpI, TII, TRI, RBI)) in selectSelect()
|
| H A D | ARMBaseInstrInfo.cpp | 2702 inline static bool isRedundantFlagInstr(const MachineInstr *CmpI, in isRedundantFlagInstr() argument 2707 if ((CmpI->getOpcode() == ARM::CMPrr || CmpI->getOpcode() == ARM::t2CMPrr) && in isRedundantFlagInstr() 2717 if (CmpI->getOpcode() == ARM::tCMPr && OI->getOpcode() == ARM::tSUBrr && in isRedundantFlagInstr() 2726 if ((CmpI->getOpcode() == ARM::CMPri || CmpI->getOpcode() == ARM::t2CMPri) && in isRedundantFlagInstr() 2734 if (CmpI->getOpcode() == ARM::tCMPi8 && in isRedundantFlagInstr() 2742 if ((CmpI->getOpcode() == ARM::CMPrr || CmpI->getOpcode() == ARM::t2CMPrr) && in isRedundantFlagInstr() 2752 if (CmpI->getOpcode() == ARM::tCMPr && in isRedundantFlagInstr()
|
| /freebsd/contrib/llvm-project/llvm/lib/Analysis/ |
| H A D | ValueTracking.cpp | 8789 static Value *lookThroughCastConst(CmpInst *CmpI, Type *SrcTy, Constant *C, in lookThroughCastConst() argument 8791 const DataLayout &DL = CmpI->getDataLayout(); in lookThroughCastConst() 8796 if (CmpI->isUnsigned()) in lookThroughCastConst() 8800 if (CmpI->isSigned()) in lookThroughCastConst() 8805 if (match(CmpI->getOperand(1), m_Constant(CmpConst)) && in lookThroughCastConst() 8830 unsigned ExtOp = CmpI->isSigned() ? Instruction::SExt : Instruction::ZExt; in lookThroughCastConst() 8884 static Value *lookThroughCast(CmpInst *CmpI, Value *V1, Value *V2, in lookThroughCast() argument 8901 return lookThroughCastConst(CmpI, SrcTy, C, CastOp); in lookThroughCast() 8905 if (match(CmpI->getOperand(1), m_ZExtOrSExt(m_Specific(V2)))) { in lookThroughCast() 8919 CastedTo = CmpI->getOperand(1); in lookThroughCast() [all …]
|
| /freebsd/contrib/llvm-project/llvm/include/llvm/Frontend/OpenMP/ |
| H A D | OMPIRBuilder.h | 3723 Instruction *CmpI = &Cond->front(); in getTripCount() local 3724 assert(isa<CmpInst>(CmpI) && "First inst must compare IV with TripCount"); in getTripCount() 3725 return CmpI->getOperand(1); in getTripCount()
|
| /freebsd/contrib/llvm-project/llvm/lib/Transforms/IPO/ |
| H A D | AttributorAttributes.cpp | 1818 if (auto *CmpI = dyn_cast<CmpInst>(LoadU.getUser())) { in updateImpl() local 1819 if (!CmpI->isEquality() || !CmpI->isTrueWhenEqual()) in updateImpl() 1821 for (const Use &CmpU : CmpI->uses()) { in updateImpl() 1825 int Idx = CmpI->getOperandUse(0) == LoadU; in updateImpl() 1826 Assumption = {CmpI->getOperand(Idx), IntrI}; in updateImpl() 9439 calculateCmpInst(Attributor &A, CmpInst *CmpI, IntegerRangeState &T, in calculateCmpInst() 9442 Value *LHS = CmpI->getOperand(0); in calculateCmpInst() 9443 Value *RHS = CmpI->getOperand(1); in calculateCmpInst() 9491 ConstantRange::makeAllowedICmpRegion(CmpI->getPredicate(), RHSAARange); in calculateCmpInst() 9496 if (LHSAARange.icmp(CmpI->getPredicate(), RHSAARange)) in calculateCmpInst() [all …]
|
| H A D | OpenMPOpt.cpp | 4582 Instruction *CmpI = ICmpInst::Create( in buildCustomStateMachine() local 4585 CmpI->setDebugLoc(DLoc); in buildCustomStateMachine() 4586 IsPR = CmpI; in buildCustomStateMachine()
|
| /freebsd/contrib/llvm-project/llvm/lib/Transforms/Utils/ |
| H A D | CloneFunction.cpp | 487 if (const auto *CmpI = dyn_cast<FCmpInst>(&OldInst)) { in cloneInstruction() local 488 FCmpInst::Predicate Pred = CmpI->getPredicate(); in cloneInstruction()
|
| /freebsd/contrib/llvm-project/llvm/include/llvm/Analysis/ |
| H A D | ValueTracking.h | 905 CmpInst *CmpI, Value *TrueVal, Value *FalseVal, Value *&LHS, Value *&RHS,
|
| /freebsd/contrib/llvm-project/llvm/lib/Frontend/OpenMP/ |
| H A D | OMPIRBuilder.cpp | 10278 Instruction *CmpI = &getCond()->front(); in setTripCount() local 10279 assert(isa<CmpInst>(CmpI) && "First inst must compare IV with TripCount"); in setTripCount() 10280 CmpI->setOperand(1, TripCount); in setTripCount() 10404 auto *CmpI = cast<CmpInst>(&Cond->front()); in assertOK() local 10405 assert(CmpI->getPredicate() == CmpInst::ICMP_ULT && in assertOK() 10407 assert(CmpI->getOperand(0) == IndVar && in assertOK() 10409 assert(CmpI->getOperand(1) == TripCount && in assertOK()
|
| /freebsd/contrib/llvm-project/clang/lib/CodeGen/ |
| H A D | CGStmtOpenMP.cpp | 3911 llvm::Value *CmpI = CGF.Builder.CreateICmpUGE(NMin1, Pow2K); in emitScanBasedDirective() local 3912 CGF.Builder.CreateCondBr(CmpI, InnerLoopBB, InnerExitBB); in emitScanBasedDirective() 3956 CmpI = CGF.Builder.CreateICmpUGE(NextIVal, Pow2K); in emitScanBasedDirective() 3957 CGF.Builder.CreateCondBr(CmpI, InnerLoopBB, InnerExitBB); in emitScanBasedDirective()
|
| /freebsd/contrib/llvm-project/llvm/lib/CodeGen/SelectionDAG/ |
| H A D | SelectionDAGBuilder.cpp | 8656 if (const auto *CmpI = dyn_cast<VPCmpIntrinsic>(&VPIntrin)) in visitVectorPredicationIntrinsic() local 8657 return visitVPCmp(*CmpI); in visitVectorPredicationIntrinsic()
|