Home
last modified time | relevance | path

Searched refs:hasOneUse (Results 1 – 25 of 168) sorted by relevance

1234567

/openbsd-src/gnu/llvm/llvm/lib/Transforms/InstCombine/
H A DInstCombineSelect.cpp172 if (!Cmp->hasOneUse()) in foldSelectICmpAnd()
300 (!TI->hasOneUse() || !FI->hasOneUse())) in foldSelectOpOp()
302 } else if (!TI->hasOneUse() || !FI->hasOneUse()) { in foldSelectOpOp()
357 if (TI->hasOneUse() || FI->hasOneUse()) { in foldSelectOpOp()
417 !TI->hasOneUse() || !FI->hasOneUse()) in foldSelectOpOp()
470 if (!TVI || !TVI->hasOneUse() || isa<Constant>(FalseVal)) in foldSelectIntoOp()
531 if (!(Cmp->hasOneUse() && Cmp->getOperand(0)->hasOneUse() && in foldSelectICmpAndAnd()
690 (IC->hasOneUse() + Or->hasOneUse())) in foldSelectICmpAndOr()
857 if (IsNegative && !TrueVal->hasOneUse() && !ICI->hasOneUse()) in canonicalizeSaturatedSubtract()
870 if (!Cmp->hasOneUse()) in canonicalizeSaturatedAdd()
[all …]
H A DInstCombineAndOrXor.cpp70 if (!OldLHS->hasOneUse() && !OldRHS->hasOneUse()) in SimplifyBSwap()
75 if (!OldLHS->hasOneUse()) in SimplifyBSwap()
953 (ZeroICmp->hasOneUse() || UnsignedICmp->hasOneUse())) { in foldUnsignedUnderflowCheck()
1049 if (!Cmp0->hasOneUse() || !Cmp1->hasOneUse()) in foldEqOfParts()
1126 if (!Cmp1->hasOneUse()) in foldAndOrOfICmpsWithConstEq()
1179 if (!(ICmp1->hasOneUse() && ICmp2->hasOneUse()) || CR1.isWrappedSet() || in foldAndOrOfICmpsUsingRanges()
1443 !InstCombiner::isFreeToInvert(A, A->hasOneUse()) && in matchDeMorgansLaws()
1444 !InstCombiner::isFreeToInvert(B, B->hasOneUse())) { in matchDeMorgansLaws()
1576 if ((Cast0->hasOneUse() || Cast1->hasOneUse()) && in foldCastedBitwiseLogic()
1627 if (Op0->hasOneUse() || Op1->hasOneUse()) in foldAndToXor()
[all …]
H A DInstCombineVectorOps.cpp127 if (!PHIUser->hasOneUse() || !(PHIUser->user_back() == PN) || in scalarizePHI()
207 Ext.getVectorOperand()->hasOneUse())) { in foldBitcastExtElt()
257 if (X->hasOneUse() && Ext.getVectorOperand()->hasOneUse()) { in foldBitcastExtElt()
293 if (!X->hasOneUse() || !Ext.getVectorOperand()->hasOneUse()) in foldBitcastExtElt()
304 if (!Ext.getVectorOperand()->hasOneUse()) in foldBitcastExtElt()
501 if (IndexC && IdxVal < EC.getKnownMinValue() && GEP->hasOneUse()) { in visitExtractElementInst()
561 if (CI->hasOneUse() && (CI->getOpcode() != Instruction::BitCast)) { in visitExtractElementInst()
580 if (SrcVec->hasOneUse()) { in visitExtractElementInst()
729 if (InsElt->hasOneUse() && isa<InsertElementInst>(InsElt->user_back())) in replaceExtractElements()
1141 while (V->hasOneUse() && Depth < 10) { in visitInsertValueInst()
[all …]
H A DInstructionCombining.cpp333 if (!Cast || !Cast->hasOneUse()) in simplifyAssocCastAssoc()
347 if (!BinOp2 || !BinOp2->hasOneUse() || BinOp2->getOpcode() != AssocOpcode) in simplifyAssocCastAssoc()
665 if (!V && (LHS->hasOneUse() || RHS->hasOneUse())) in tryFactorization()
685 if (!V && (LHS->hasOneUse() || RHS->hasOneUse())) in tryFactorization()
918 if (LHS->hasOneUse() && RHS->hasOneUse()) { in SimplifySelectsFeedingBinaryOp()
924 } else if (LHSIsSelect && LHS->hasOneUse()) { in SimplifySelectsFeedingBinaryOp()
931 } else if (RHSIsSelect && RHS->hasOneUse()) { in SimplifySelectsFeedingBinaryOp()
1098 if (!SI->hasOneUse() && !FoldWithMultiUse) in FoldOpIntoSelect()
1133 if (CI->hasOneUse()) { in FoldOpIntoSelect()
1186 if (!PN->hasOneUse()) { in foldOpIntoPhi()
[all …]
H A DInstCombineAddSub.cpp471 InstQuota = ((!isa<Constant>(V0) && V0->hasOneUse()) && in simplify()
472 (!isa<Constant>(V1) && V1->hasOneUse())) ? 2 : 1; in simplify()
758 if (!LHS->hasOneUse() && !RHS->hasOneUse()) in checkForNegativeOperand()
942 if (Op0->hasOneUse() && *C2 == -(*C)) { in foldAddWithConstant()
958 if (C->isOne() && Op0->hasOneUse()) { in foldAddWithConstant()
1273 if (!Op0 || !Op1 || !(Op0->hasOneUse() || Op1->hasOneUse())) in factorizeMathWithShlOps()
1420 (LHS->hasOneUse() || RHS->hasOneUse())) { in visitAdd()
1609 if (!Op0->hasOneUse() || !Op1->hasOneUse()) in factorizeFAddFSub()
1714 if (LHSConv->hasOneUse() && in visitFAdd()
1733 (LHSConv->hasOneUse() || RHSConv->hasOneUse()) && in visitFAdd()
[all …]
H A DInstCombineShifts.cpp198 !Trunc->hasOneUse()) in dropRedundantMaskingOfLeftShiftInput()
302 if (!Masked->hasOneUse()) in dropRedundantMaskingOfLeftShiftInput()
333 if (!LogicInst || !LogicInst->isBitwiseLogicOp() || !LogicInst->hasOneUse()) in foldShiftOfShiftedLogic()
457 if (Op1->hasOneUse() && match(Op1, m_SRem(m_Value(A), m_Constant(C))) && in commonShiftTransforms()
537 if (!I->hasOneUse()) return false; in canEvaluateShifted()
775 if (!Op0->hasOneUse()) in FoldShiftByConstant()
880 if (!Add->hasOneUse()) { in foldLShrOverflowBit()
903 if (!Add->hasOneUse()) in foldLShrOverflowBit()
1052 if (Op0BO->isCommutative() && Y->hasOneUse() && in visitShl()
1199 if (Op0->hasOneUse()) { in visitLShr()
[all …]
H A DInstCombineCompares.cpp805 (GEPLHS->hasAllConstantIndices() || GEPLHS->hasOneUse()) && in foldGEPICmp()
806 (GEPRHS->hasAllConstantIndices() || GEPRHS->hasOneUse()) && in foldGEPICmp()
886 if (GEPsInBounds && (isa<ConstantExpr>(GEPLHS) || GEPLHS->hasOneUse()) && in foldGEPICmp()
887 (isa<ConstantExpr>(GEPRHS) || GEPRHS->hasOneUse())) { in foldGEPICmp()
1140 if (!AddWithCst->hasOneUse()) in processUGT_ADDCST_ADD()
1415 if (Cmp.hasOneUse() && in foldICmpWithDominatingICmp()
1462 if (Cmp.isEquality() && Trunc->hasOneUse()) { in foldICmpTruncConstant()
1537 if (Xor->hasOneUse()) { in foldICmpXorConstant()
1676 if (Shift->hasOneUse() && C1.isZero() && Cmp.isEquality() && in foldICmpAndShift()
1710 if (!And->hasOneUse()) in foldICmpAndConstConst()
[all …]
H A DInstCombineCasts.cpp121 if (!AI.hasOneUse() && CastElTyAlign == AllocElTyAlign) return nullptr; in PromoteCastOfAllocation()
133 if (!AI.hasOneUse() && CastElTyStoreSize < AllocElTyStoreSize) return nullptr; in PromoteCastOfAllocation()
178 if (!AI.hasOneUse()) { in PromoteCastOfAllocation()
304 if (CSrc->hasOneUse()) in commonCastTransforms()
379 if (!V->hasOneUse()) in canNotEvaluateInType()
533 if (!TruncOp->hasOneUse() || !isa<IntegerType>(DestType)) in foldVecTruncToExtElt()
757 if (Shuf && Shuf->hasOneUse() && match(Shuf->getOperand(1), m_Undef()) && in shrinkSplatShuffle()
781 if (!InsElt || !InsElt->hasOneUse()) in shrinkInsertElt()
918 if (Src->hasOneUse()) { in visitTrunc()
938 if (Src->hasOneUse() && in visitTrunc()
[all …]
H A DInstCombineMulDivRem.cpp51 if (!V->hasOneUse()) return nullptr; in simplifyValueKnownNonZero()
255 if (Op0->hasOneUse() && match(Op1, m_NegatedPower2())) { in visitMul()
358 if (Div && Div->hasOneUse() && in visitMul()
403 (Op0->hasOneUse() || Op1->hasOneUse() || X == Y)) { in visitMul()
413 (Op0->hasOneUse() || Op1->hasOneUse())) { in visitMul()
509 (Op0->hasOneUse() || Op1->hasOneUse())) { in foldFPSignBitOps()
591 if (C1DivC && Op0->hasOneUse() && C1DivC->isNormalFP()) in visitFMul()
801 if (SI->use_empty() && SelectCond->hasOneUse()) in simplifyDivRemOfSelectWithZeroOp()
898 if (IsSigned && HasNSW && (Op0->hasOneUse() || Op1->hasOneUse())) { in foldIDivShl()
1082 if (!IsSigned && Op1->hasOneUse() && in commonIDivTransforms()
[all …]
H A DInstCombineCalls.cpp113 if (!Src->hasOneUse()) in hasUndefSource()
117 return isa<AllocaInst>(Src) && Src->hasOneUse(); in hasUndefSource()
636 if (Op0->hasOneUse() && in foldCtpop()
921 if (!MinMax2->hasOneUse() || !AddSub->hasOneUse()) in matchSAddSubSat()
959 if (!match(I1, m_APInt(C1)) || !I0->hasOneUse()) in foldClampRangeOfTwo()
1053 (!LHS->hasOneUse() && !RHS->hasOneUse())) in factorizeMinMaxTree()
1064 if (LHS->hasOneUse()) { in factorizeMinMaxTree()
1079 assert(RHS->hasOneUse() && "Expected one-use operand"); in factorizeMinMaxTree()
1130 if (none_of(II->args(), [](Value *V) { return V->hasOneUse(); })) in foldShuffledIntrinsicOperands()
1331 (I0->hasOneUse() || I1->hasOneUse()) && X->getType() == Y->getType()) { in visitCallInst()
[all …]
H A DInstCombinePHI.cpp109 if (!PN.hasOneUse()) in foldIntegerTypedPHI()
180 if (!LoadI->hasOneUse()) in foldIntegerTypedPHI()
266 (LoadI && LoadI->hasOneUse())) && in foldIntegerTypedPHI()
979 if (!PN->hasOneUse()) return false; in isDeadPHICycle()
1156 !UserI->hasOneUse() || !isa<TruncInst>(UserI->user_back()) || in SliceUpIllegalIntegerPHI()
1421 if (PN.hasOneUse()) { in visitPHINode()
1439 if (PHIUser->hasOneUse() && in visitPHINode()
H A DInstCombineNegator.cpp158 if (!V->hasOneUse() && !IsTrulyNegation) in visitImpl()
235 (I->hasOneUse() || match(I->getOperand(0), m_ImmConstant()))) { in visitImpl()
245 if (!V->hasOneUse()) in visitImpl()
/openbsd-src/gnu/llvm/llvm/lib/Analysis/
H A DGuardUtils.cpp67 if (!Cond->hasOneUse()) in parseWidenableBranch()
93 A->hasOneUse()) { in parseWidenableBranch()
100 B->hasOneUse()) { in parseWidenableBranch()
/openbsd-src/gnu/llvm/llvm/lib/Target/RISCV/
H A DRISCVMergeBaseOffset.cpp104 if (!MRI->hasOneUse(HiDestReg)) in INITIALIZE_PASS()
182 if (!MRI->hasOneUse(Reg)) in foldLargeOffset()
199 !MRI->hasOneUse(OffsetLui.getOperand(0).getReg())) in foldLargeOffset()
254 if (!MRI->hasOneUse(Rs1)) in foldShiftedOffset()
291 if (!MRI->hasOneUse(DestReg)) in detectAndFoldOffset()
307 if (MRI->hasOneUse(TailDestReg)) { in detectAndFoldOffset()
/openbsd-src/gnu/llvm/llvm/lib/CodeGen/SelectionDAG/
H A DDAGCombiner.cpp892 if (Op->hasOneUse() || Op->getNumValues() > 1) in deleteAndRecombine()
949 if (isSetCCEquivalent(N, N0, N1, N2) && N->hasOneUse()) in isOneUseSetCC()
1043 if (N0.hasOneUse()) in reassociationCanBreakAddressingModePattern()
1396 Replace0 &= !N0->hasOneUse(); in PromoteIntBinOp()
1397 Replace1 &= (N0 != N1) && !N1->hasOneUse(); in PromoteIntBinOp()
1940 if (N->hasOneUse() && N->use_begin()->getOpcode() == ISD::TokenFactor) in visitTokenFactor()
1977 if (Op.hasOneUse() && !is_contained(TFs, Op.getNode())) { in visitTokenFactor()
2206 if (N1.getOpcode() != ISD::VSELECT || !N1.hasOneUse()) in foldSelectWithIdentityConstant()
2258 if (Sel.getOpcode() != ISD::SELECT || !Sel.hasOneUse()) { in foldBinOpIntoSelect()
2263 if (Sel.getOpcode() != ISD::SELECT || !Sel.hasOneUse()) in foldBinOpIntoSelect()
[all …]
/openbsd-src/gnu/llvm/llvm/lib/Transforms/Utils/
H A DRelLookupTableConverter.cpp33 !GV.hasOneUse()) in shouldConvertToRelLookupTable()
38 if (!GEP || !GEP->hasOneUse() || in shouldConvertToRelLookupTable()
43 if (!Load || !Load->hasOneUse() || in shouldConvertToRelLookupTable()
/openbsd-src/gnu/llvm/llvm/lib/Transforms/Scalar/
H A DReassociate.cpp158 if (BO && BO->hasOneUse() && BO->getOpcode() == Opcode) in isReassociableOp()
167 if (BO && BO->hasOneUse() && in isReassociableOp()
531 if (!Op->hasOneUse()) { in LinearizeExprTree()
552 assert(!Op->hasOneUse() && "Only one use, but we got here twice!"); in LinearizeExprTree()
570 if (!Op->hasOneUse()) in LinearizeExprTree()
587 assert(Op->hasOneUse() && "Has uses outside the expression tree!"); in LinearizeExprTree()
999 if (Or->hasOneUse() && isInteresting(VB)) in shouldConvertOrWithNoCommonBitsToAdd()
1044 if (Sub->hasOneUse() && in ShouldBreakUpSubtract()
1315 if (!Opnd1->getValue()->hasOneUse()) in CombineXorOpnd()
1349 if (Opnd1->getValue()->hasOneUse()) in CombineXorOpnd()
[all …]
/openbsd-src/gnu/llvm/llvm/lib/Target/X86/
H A DX86PartialReduction.cpp140 if (!isa<Constant>(LHS) && !LHS->hasOneUse()) in tryMAddReplacement()
142 if (!isa<Constant>(RHS) && !RHS->hasOneUse()) in tryMAddReplacement()
363 if (!BO || BO->getOpcode() != Instruction::Add || !BO->hasOneUse()) in matchAddReduction()
418 if (!Phi->hasOneUse()) in isReachableFromPHI()
425 while (U->hasOneUse() && U->getOpcode() == BO->getOpcode()) in isReachableFromPHI()
H A DX86ISelDAGToDAG.cpp627 if (!N.hasOneUse()) in IsProfitableToFold()
783 return N->getOperand(1).hasOneUse(); in isProfitableToFormMaskedOp()
828 if (Callee.getNode() == Chain.getNode() || !Callee.hasOneUse()) in isCalleeLoad()
839 if (!Chain.hasOneUse()) in isCalleeLoad()
855 Callee.getValue(1).hasOneUse()) in isCalleeLoad()
956 !N->getOperand(1).hasOneUse(); in PreprocessISelDAG()
1918 !Shift.hasOneUse()) in foldMaskAndShiftToExtract()
1969 if (Shift.getOpcode() == ISD::ANY_EXTEND && Shift.hasOneUse() && in foldMaskedShiftToScaledMask()
1985 if (!N.hasOneUse() || !Shift.hasOneUse()) in foldMaskedShiftToScaledMask()
2052 if (Shift.getOpcode() != ISD::SRL || !Shift.hasOneUse() || in foldMaskAndShiftToScale()
[all …]
/openbsd-src/gnu/llvm/llvm/lib/Target/SystemZ/
H A DSystemZTargetTransformInfo.cpp486 if (I->hasOneUse() && in getArithmeticInstrCost()
496 if (I->hasOneUse() && I->getOpcode() == Instruction::Xor) in getArithmeticInstrCost()
936 if (!Ld->hasOneUse() && Ld->getParent() == I->getParent() && in getCmpSelInstrCost()
1029 if (!Ld->hasOneUse()) in isFoldableLoad()
1037 if (UserI->hasOneUse()) { in isFoldableLoad()
1161 if (Opcode == Instruction::Load && I->hasOneUse()) { in getMemoryOpCost()
1165 (!LdUser->hasOneUse() || !isa<StoreInst>(*LdUser->user_begin()))) in getMemoryOpCost()
1170 if (StoredVal->hasOneUse() && isBswapIntrinsicCall(StoredVal)) in getMemoryOpCost()
/openbsd-src/gnu/llvm/llvm/lib/Target/AMDGPU/
H A DAMDGPULowerKernelAttributes.cpp108 if (!U->hasOneUse()) in processUse()
122 if (!BCI->hasOneUse()) in processUse()
/openbsd-src/gnu/llvm/llvm/lib/Target/WebAssembly/
H A DWebAssemblyRegStackify.cpp283 static bool hasOneUse(unsigned Reg, MachineInstr *Def, MachineRegisterInfo &MRI, in hasOneUse() function
286 if (MRI.hasOneUse(Reg)) in hasOneUse()
532 if (MRI.hasOneDef(Reg) && MRI.hasOneUse(Reg)) { in moveForSingleUse()
879 if (CanMove && hasOneUse(Reg, DefI, MRI, MDT, LIS)) { in runOnMachineFunction()
916 if (DefReg != UseReg || !MRI.hasOneUse(DefReg)) in runOnMachineFunction()
/openbsd-src/gnu/llvm/llvm/lib/Target/SPIRV/
H A DSPIRVPreLegalizer.cpp257 if (MRI.hasOneUse(Reg)) { in generateAssignInstrs()
333 assert(MI.getNumDefs() > 0 && MRI.hasOneUse(MI.getOperand(0).getReg())); in processInstr()
380 if (Opcode == TargetOpcode::G_CONSTANT && MRI.hasOneUse(DstReg)) { in processInstrsWithTypeFolding()
497 MRI.hasOneUse(Dst) && MRI.hasOneDef(CompareReg)); in processSwitches()
/openbsd-src/gnu/llvm/llvm/lib/Target/ARM/
H A DMVELaneInterleavingPass.cpp136 if (T->hasOneUse() && !isa<StoreInst>(*T->user_begin())) { in isProfitableToInterleave()
145 if (!E->hasOneUse() || in isProfitableToInterleave()
/openbsd-src/gnu/llvm/llvm/lib/Transforms/Vectorize/
H A DVectorCombine.cpp138 if (!Load || !Load->isSimple() || !Load->hasOneUse() || in canWidenLoad()
160 !Scalar->hasOneUse()) in vectorizeLoadInsert()
444 : !Ext0->hasOneUse() || !Ext1->hasOneUse(); in isExtractExtractCheap()
452 !Ext0->hasOneUse() * Extract0Cost + in isExtractExtractCheap()
453 !Ext1->hasOneUse() * Extract1Cost; in isExtractExtractCheap()
587 if (I.hasOneUse()) in foldExtractExtract()
662 if (Extract->hasOneUse()) in foldInsExtFNeg()
817 (IsConst0 ? 0 : !Ins0->hasOneUse() * InsertCost) + in scalarizeBinopOrCmp()
818 (IsConst1 ? 0 : !Ins1->hasOneUse() * InsertCost); in scalarizeBinopOrCmp()

1234567