| /openbsd-src/gnu/llvm/llvm/lib/Transforms/InstCombine/ |
| H A D | InstCombineSelect.cpp | 172 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 D | InstCombineAndOrXor.cpp | 70 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 D | InstCombineVectorOps.cpp | 127 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 D | InstructionCombining.cpp | 333 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 D | InstCombineAddSub.cpp | 471 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 D | InstCombineShifts.cpp | 198 !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 D | InstCombineCompares.cpp | 805 (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 D | InstCombineCasts.cpp | 121 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 D | InstCombineMulDivRem.cpp | 51 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 D | InstCombineCalls.cpp | 113 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 D | InstCombinePHI.cpp | 109 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 D | InstCombineNegator.cpp | 158 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 D | GuardUtils.cpp | 67 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 D | RISCVMergeBaseOffset.cpp | 104 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 D | DAGCombiner.cpp | 892 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 D | RelLookupTableConverter.cpp | 33 !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 D | Reassociate.cpp | 158 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 D | X86PartialReduction.cpp | 140 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 D | X86ISelDAGToDAG.cpp | 627 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 D | SystemZTargetTransformInfo.cpp | 486 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 D | AMDGPULowerKernelAttributes.cpp | 108 if (!U->hasOneUse()) in processUse() 122 if (!BCI->hasOneUse()) in processUse()
|
| /openbsd-src/gnu/llvm/llvm/lib/Target/WebAssembly/ |
| H A D | WebAssemblyRegStackify.cpp | 283 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 D | SPIRVPreLegalizer.cpp | 257 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 D | MVELaneInterleavingPass.cpp | 136 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 D | VectorCombine.cpp | 138 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()
|