Home
last modified time | relevance | path

Searched refs:CmpI (Results 1 – 20 of 20) sorted by relevance

/freebsd/contrib/llvm-project/llvm/lib/Transforms/Scalar/
H A DMergeICmps.cpp188 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 DLowerExpectIntrinsic.cpp289 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 DConstraintElimination.cpp1244 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 DGVN.cpp2186 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 DSelectOptimize.cpp809 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 DCodeGenPrepare.cpp8828 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 DLanaiInstrInfo.cpp207 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 DHexagonHardwareLoops.cpp226 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 DHexagonSplitDouble.cpp500 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 DARMInstructionSelector.cpp581 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 DARMBaseInstrInfo.cpp2702 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 DValueTracking.cpp8789 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 DOMPIRBuilder.h3723 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 DAttributorAttributes.cpp1818 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 DOpenMPOpt.cpp4582 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 DCloneFunction.cpp487 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 DValueTracking.h905 CmpInst *CmpI, Value *TrueVal, Value *FalseVal, Value *&LHS, Value *&RHS,
/freebsd/contrib/llvm-project/llvm/lib/Frontend/OpenMP/
H A DOMPIRBuilder.cpp10278 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 DCGStmtOpenMP.cpp3911 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 DSelectionDAGBuilder.cpp8656 if (const auto *CmpI = dyn_cast<VPCmpIntrinsic>(&VPIntrin)) in visitVectorPredicationIntrinsic() local
8657 return visitVPCmp(*CmpI); in visitVectorPredicationIntrinsic()