| /llvm-project-15.0.7/llvm/lib/CodeGen/ |
| H A D | IntrinsicLowering.cpp | 79 Tmp3 = Builder.CreateAnd(Tmp3, in LowerBSWAP() 82 Tmp2 = Builder.CreateAnd(Tmp2, in LowerBSWAP() 110 Tmp7 = Builder.CreateAnd(Tmp7, in LowerBSWAP() 114 Tmp6 = Builder.CreateAnd(Tmp6, in LowerBSWAP() 118 Tmp5 = Builder.CreateAnd(Tmp5, in LowerBSWAP() 122 Tmp4 = Builder.CreateAnd(Tmp4, in LowerBSWAP() 126 Tmp3 = Builder.CreateAnd(Tmp3, in LowerBSWAP() 130 Tmp2 = Builder.CreateAnd(Tmp2, in LowerBSWAP() 168 Value *LHS = Builder.CreateAnd(PartValue, MaskCst, "cppop.and1"); in LowerCTPOP() 172 Value *RHS = Builder.CreateAnd(VShift, MaskCst, "cppop.and2"); in LowerCTPOP() [all …]
|
| H A D | AtomicExpandPass.cpp | 712 Builder.CreateAnd(AddrInt, ~(uint64_t)(MinWordSize - 1)), WordPtrType, in createMaskInstrs() 716 Value *PtrLSB = Builder.CreateAnd(AddrInt, MinWordSize - 1, "PtrLSB"); in createMaskInstrs() 755 Value *And = Builder.CreateAnd(WideWord, PMV.Inv_Mask, "unmasked"); in insertMaskedValue() 772 Value *Loaded_MaskOut = Builder.CreateAnd(Loaded, PMV.Inv_Mask); in performMaskedAtomicOp() 785 Value *NewVal_Masked = Builder.CreateAnd(NewVal, PMV.Mask); in performMaskedAtomicOp() 786 Value *Loaded_MaskOut = Builder.CreateAnd(Loaded, PMV.Inv_Mask); in performMaskedAtomicOp() 956 Value *InitLoaded_MaskOut = Builder.CreateAnd(InitLoaded, PMV.Inv_Mask); in expandPartwordCmpXchg() 991 Value *OldVal_MaskOut = Builder.CreateAnd(OldVal, PMV.Inv_Mask); in expandPartwordCmpXchg() 1069 CmpVal_Shifted, Builder.CreateAnd(OldVal, PMV.Mask), "Success"); in expandAtomicCmpXchgToMaskedIntrinsic()
|
| H A D | ExpandVectorPredication.cpp | 346 Reduction = Builder.CreateAnd(Reduction, Start); in expandPredicationInReduction() 515 Value *NewMaskParam = Builder.CreateAnd(VLMask, OldMaskParam); in foldEVLIntoMask()
|
| /llvm-project-15.0.7/llvm/lib/Transforms/Utils/ |
| H A D | GuardUtils.cpp | 75 CheckBI->setCondition(B.CreateAnd(CheckBI->getCondition(), WC, in makeGuardControlFlowExplicit() 96 WidenableBR->setCondition(B.CreateAnd(NewCond, WC->get())); in widenWidenableBranch() 100 C->set(B.CreateAnd(NewCond, C->get())); in widenWidenableBranch() 117 WidenableBR->setCondition(B.CreateAnd(NewCond, WC->get())); in setWidenableBranchCond()
|
| H A D | LowerAtomic.cpp | 54 return Builder.CreateAnd(Loaded, Inc, "new"); in buildAtomicRMWValue() 56 return Builder.CreateNot(Builder.CreateAnd(Loaded, Inc), "new"); in buildAtomicRMWValue()
|
| H A D | IntegerDivision.cpp | 315 Value *Carry = Builder.CreateAnd(Tmp10, One); in generateUnsignedDivisionCode() 316 Value *Tmp11 = Builder.CreateAnd(Tmp10, Divisor); in generateUnsignedDivisionCode()
|
| /llvm-project-15.0.7/llvm/lib/Transforms/InstCombine/ |
| H A D | InstCombineAndOrXor.cpp | 573 Value *NewAnd = Builder.CreateAnd(A, NewOr); in foldLogOpOfMaskedICmps() 586 Value *NewAnd = Builder.CreateAnd(A, NewOr); in foldLogOpOfMaskedICmps() 594 Value *NewAnd1 = Builder.CreateAnd(B, D); in foldLogOpOfMaskedICmps() 1790 Value *And = Builder.CreateAnd(X, Op1); in visitAnd() 2060 return BinaryOperator::CreateAnd(A, B); in visitAnd() 2068 return BinaryOperator::CreateAnd(A, B); in visitAnd() 3280 return Builder.CreateAnd(LHS, RHS); in foldXorOfICmps() 3316 Value *NewA = Builder.CreateAnd(D, NotM); in visitMaskedMerge() 3326 Value *LHS = Builder.CreateAnd(X, C); in visitMaskedMerge() 3328 Value *RHS = Builder.CreateAnd(B, NotC); in visitMaskedMerge() [all …]
|
| H A D | InstCombineShifts.cpp | 462 Value *Rem = Builder.CreateAnd(A, Mask, Op1->getName()); in commonShiftTransforms() 623 Value *And = Builder.CreateAnd(InnerShift->getOperand(0), in foldShiftedShift() 696 auto *And = BinaryOperator::CreateAnd(Neg, in getShiftedValue() 866 return BinaryOperator::CreateAnd(X, ConstantInt::get(Ty, Mask)); in visitShl() 987 return BinaryOperator::CreateAnd(B, Mask); in visitShl() 1031 return BinaryOperator::CreateAnd(Mask, X); in visitShl() 1126 return BinaryOperator::CreateAnd(X, ConstantInt::get(Ty, Mask)); in visitLShr() 1142 return BinaryOperator::CreateAnd(NewAdd, Mask); in visitLShr() 1195 return BinaryOperator::CreateAnd(Signbit, X); in visitLShr() 1292 return BinaryOperator::CreateAnd(Mask, X); in visitLShr() [all …]
|
| H A D | InstCombineCompares.cpp | 301 Idx = Builder.CreateAnd(Idx, Mask); in foldCmpLoadFromIndexedGlobal() 345 return BinaryOperator::CreateAnd(C1, C2); in foldCmpLoadFromIndexedGlobal() 1339 Value *Masked = Builder.CreateAnd(X, Mask); in foldIRemByPowerOfTwoToBitTest() 1559 Value *And = Builder.CreateAnd(X, Mask); in foldICmpTruncConstant() 1724 Value *NewAnd = Builder.CreateAnd( in foldICmpAndShift() 3213 Value *And = Builder.CreateAnd(BOp0, NotBOC); in foldICmpBinOpEqualityWithConstant() 3965 Value *T1 = Builder.CreateAnd(T0, Y); in foldShiftIntoShiftInAnotherHandOfAndInICmp() 4657 Op1 = Builder.CreateAnd(Op1, Z); in foldICmpEquality() 4809 Value *And = Builder.CreateAnd(X, Mask); in foldICmpWithTrunc() 4819 Value *And = Builder.CreateAnd(X, MaskC); in foldICmpWithTrunc() [all …]
|
| H A D | InstCombineAddSub.cpp | 778 Value *NewAnd = Builder.CreateAnd(Z, *C1); in checkForNegativeOperand() 968 return BinaryOperator::CreateAnd(NotX, ConstantInt::get(Ty, 1)); in foldAddWithConstant() 978 return BinaryOperator::CreateAnd(NewAdd, ConstantInt::get(Ty, *C2)); in foldAddWithConstant() 1376 return BinaryOperator::CreateAnd(A, NewMask); in visitAdd() 2002 return BinaryOperator::CreateAnd(A, B); in visitSub() 2027 return BinaryOperator::CreateAnd(A, B); in visitSub() 2036 return BinaryOperator::CreateNeg(Builder.CreateAnd(A, B)); in visitSub() 2043 return BinaryOperator::CreateAnd( in visitSub() 2052 return BinaryOperator::CreateNeg(Builder.CreateAnd( in visitSub() 2062 Builder.CreateAnd(Op1, Builder.CreateNot(C))); in visitSub() [all …]
|
| H A D | InstCombineCasts.cpp | 840 Value *And = Builder.CreateAnd(Src, ConstantInt::get(SrcTy, 1)); in visitTrunc() 852 Value *And = Builder.CreateAnd(X, MaskC); in visitTrunc() 861 Value *And = Builder.CreateAnd(X, MaskC); in visitTrunc() 1073 Value *And1 = Builder.CreateAnd(Lshr, ConstantInt::get(X->getType(), 1)); in transformZExtICmp() 1095 Result = Builder.CreateAnd(Result, in transformZExtICmp() 1285 return BinaryOperator::CreateAnd(Res, C); in visitZExt() 1307 Value *And = Builder.CreateAnd(A, AndConst, CSrc->getName() + ".mask"); in visitZExt() 1313 return BinaryOperator::CreateAnd(A, ConstantInt::get(A->getType(), in visitZExt() 1319 return BinaryOperator::CreateAnd(Trunc, in visitZExt() 1341 return BinaryOperator::CreateXor(Builder.CreateAnd(X, ZC), ZC); in visitZExt() [all …]
|
| H A D | InstCombineSelect.cpp | 134 bool CreateAnd = false; in foldSelectICmpAnd() local 152 CreateAnd = true; in foldSelectICmpAnd() 169 if (CreateAnd) { in foldSelectICmpAnd() 174 V = Builder.CreateAnd(V, ConstantInt::get(SelType, AndMask)); in foldSelectICmpAnd() 205 if (CreateAnd) in foldSelectICmpAnd() 206 V = Builder.CreateAnd(V, ConstantInt::get(V->getType(), AndMask)); in foldSelectICmpAnd() 542 Value *MaskedX = Builder.CreateAnd(X, FullMask); in foldSelectICmpAndAnd() 672 V = Builder.CreateAnd(V, ConstantInt::get(V->getType(), C1)); in foldSelectICmpAndOr() 1657 V = Builder.CreateAnd(X, ~(*Y)); in foldSelectInstWithICmp() 1661 V = Builder.CreateAnd(X, ~(*Y)); in foldSelectInstWithICmp() [all …]
|
| H A D | InstCombineSimplifyDemanded.cpp | 292 Instruction *And = BinaryOperator::CreateAnd(I->getOperand(0), AndC); in SimplifyDemandedUseBits() 324 Instruction *NewAnd = BinaryOperator::CreateAnd(I->getOperand(0), AndC); in SimplifyDemandedUseBits() 480 Value *AndNot = Builder.CreateAnd(Builder.CreateNot(X), Y); in SimplifyDemandedUseBits() 546 Instruction *And1 = BinaryOperator::CreateAnd(I->getOperand(0), One); in SimplifyDemandedUseBits()
|
| /llvm-project-15.0.7/llvm/lib/Transforms/Scalar/ |
| H A D | ScalarizeMaskedMemIntrin.cpp | 214 Predicate = Builder.CreateICmpNE(Builder.CreateAnd(SclrMask, Mask), in scalarizeMaskedLoad() 348 Predicate = Builder.CreateICmpNE(Builder.CreateAnd(SclrMask, Mask), in scalarizeMaskedStore() 470 Predicate = Builder.CreateICmpNE(Builder.CreateAnd(SclrMask, Mask), in scalarizeMaskedGather() 597 Predicate = Builder.CreateICmpNE(Builder.CreateAnd(SclrMask, Mask), in scalarizeMaskedScatter() 703 Predicate = Builder.CreateICmpNE(Builder.CreateAnd(SclrMask, Mask), in scalarizeMaskedExpandLoad() 813 Predicate = Builder.CreateICmpNE(Builder.CreateAnd(SclrMask, Mask), in scalarizeMaskedCompressStore()
|
| H A D | LoopPredication.cpp | 617 return Builder.CreateAnd(FirstIterationCheck, LimitCheck); in widenICmpRangeCheckIncrementingLoop() 665 return Builder.CreateAnd(FirstIterationCheck, LimitCheck); in widenICmpRangeCheckDecrementingLoop() 817 Value *AllChecks = Builder.CreateAnd(Checks); in widenGuardConditions() 843 Value *AllChecks = Builder.CreateAnd(Checks); in widenWidenableBranchGuardConditions()
|
| H A D | GuardWidening.cpp | 551 Result = BinaryOperator::CreateAnd(RC.getCheckInst(), Result, "", in widenCondCommon() 570 Result = BinaryOperator::CreateAnd(Cond0, Cond1, "wide.chk", InsertPt); in widenCondCommon()
|
| /llvm-project-15.0.7/llvm/lib/Transforms/Instrumentation/ |
| H A D | InstrOrderFile.cpp | 141 Value *WrappedIdx = updateB.CreateAnd( in generateCodeSequence()
|
| H A D | HWAddressSanitizer.cpp | 856 TagMismatch = IRB.CreateAnd(TagMismatch, TagNotIgnored); in instrumentMemAccessInline() 871 Value *PtrLowBits = IRB.CreateTrunc(IRB.CreateAnd(PtrLong, 15), Int8Ty); in instrumentMemAccessInline() 1037 Value *NewTag = IRB.CreateAnd(OldTag, TagMask); in applyTagMask() 1090 TaggedPtrLong = IRB.CreateAnd(PtrLong, ShiftedTag); in tagPointer() 1111 IRB.CreateAnd(PtrLong, ConstantInt::get(PtrLong->getType(), in untagPointer() 1229 Value *ThreadLongNew = IRB.CreateAnd( in emitPrologue()
|
| H A D | MemorySanitizer.cpp | 2068 Value *S1S2 = IRB.CreateAnd(S1, S2); in visitAnd() 2069 Value *V1S2 = IRB.CreateAnd(V1, S2); in visitAnd() 2070 Value *S1V2 = IRB.CreateAnd(S1, V2); in visitAnd() 2090 Value *S1S2 = IRB.CreateAnd(S1, S2); in visitOr() 2091 Value *V1S2 = IRB.CreateAnd(V1, S2); in visitOr() 2092 Value *S1V2 = IRB.CreateAnd(S1, V2); in visitOr() 2351 IRB.CreateAnd(IRB.CreateICmpNE(Sc, Zero), in handleEqualityComparison() 2372 return IRB.CreateAnd(A, IRB.CreateNot(Sa)); in getLowestPossibleValue() 3025 Value *S = IRB.CreateAnd(OutShadowMask, OrShadow); in handleVectorReduceOrIntrinsic() 3042 Value *S = IRB.CreateAnd(OutShadowMask, OrShadow); in handleVectorReduceAndIntrinsic() [all …]
|
| /llvm-project-15.0.7/llvm/unittests/IR/ |
| H A D | PatternMatch.cpp | 580 EXPECT_TRUE(match(IRB.CreateAnd(X, X), m_And(m_Value(tX), m_Deferred(tX)))); in TEST_F() 586 match(IRB.CreateAnd(X, Y), m_c_And(m_Value(tX), m_Deferred(tX)))); in TEST_F() 597 checkMatch(IRB.CreateAnd(X, IRB.CreateAnd(X, Y))); in TEST_F() 598 checkMatch(IRB.CreateAnd(X, IRB.CreateAnd(Y, X))); in TEST_F() 599 checkMatch(IRB.CreateAnd(IRB.CreateAnd(X, Y), X)); in TEST_F() 600 checkMatch(IRB.CreateAnd(IRB.CreateAnd(Y, X), X)); in TEST_F()
|
| /llvm-project-15.0.7/llvm/lib/Target/Hexagon/ |
| H A D | HexagonVectorCombine.cpp | 469 Value *And = Builder.CreateAnd(AsInt, Mask); in createAlignedPointer() 1359 Value *AndU0 = Simplify(CallBuilder(B, CreateAnd(Idx0, MaskU))); in calculatePointerDifference() 1360 Value *AndU1 = Simplify(CallBuilder(B, CreateAnd(Idx1, MaskU))); in calculatePointerDifference() 1370 Value *AndK0 = Simplify(CallBuilder(B, CreateAnd(Idx0, MaskK))); in calculatePointerDifference() 1371 Value *AndK1 = Simplify(CallBuilder(B, CreateAnd(Idx1, MaskK))); in calculatePointerDifference()
|
| H A D | HexagonLoopIdiomRecognition.cpp | 1056 Value *And = IRBuilder<>(In).CreateAnd(T->getOperand(0), Mask); in promoteTo() 1553 P = B.CreateAnd(P, BMI); in generate() 1567 P = B.CreateAnd(P, BMI); in generate() 1637 return B.CreateAnd(B.CreateXor(And0->getOperand(0), And1->getOperand(0)), in setupPreSimplifier() 1772 return B.CreateAnd(B.CreateXor(And0->getOperand(0), And1), C0); in setupPostSimplifier() 2231 Value *CmpBoth = Builder.CreateAnd(Cond, CmpB); in processCopyingStore()
|
| /llvm-project-15.0.7/llvm/lib/Target/AMDGPU/ |
| H A D | AMDGPUAtomicOptimizer.cpp | 592 NewV = buildMul(B, V, B.CreateAnd(Ctpop, 1)); in optimizeAtomic() 682 LaneOffset = buildMul(B, V, B.CreateAnd(Mbcnt, 1)); in optimizeAtomic()
|
| /llvm-project-15.0.7/llvm/include/llvm/IR/ |
| H A D | IRBuilder.h | 1348 Value *CreateAnd(Value *LHS, Value *RHS, const Twine &Name = "") { 1351 return Insert(BinaryOperator::CreateAnd(LHS, RHS), Name); 1354 Value *CreateAnd(Value *LHS, const APInt &RHS, const Twine &Name = "") { 1355 return CreateAnd(LHS, ConstantInt::get(LHS->getType(), RHS), Name); 1358 Value *CreateAnd(Value *LHS, uint64_t RHS, const Twine &Name = "") { 1359 return CreateAnd(LHS, ConstantInt::get(LHS->getType(), RHS), Name); 1362 Value *CreateAnd(ArrayRef<Value*> Ops) { in CreateAnd() function 1366 Accum = CreateAnd(Accum, Ops[i]); in CreateAnd()
|
| /llvm-project-15.0.7/llvm/lib/IR/ |
| H A D | AutoUpgrade.cpp | 1519 LHS = Builder.CreateAnd(LHS, Mask); in upgradePMULDQ() 1520 RHS = Builder.CreateAnd(RHS, Mask); in upgradePMULDQ() 1538 Vec = Builder.CreateAnd(Vec, getX86MaskVec(Builder, Mask, NumElts)); in ApplyX86MaskOn1BitsVec() 1600 Value* AndNode = Builder.CreateAnd(Mask, APInt(8, 1)); in upgradeMaskedMove() 2144 Rep = Builder.CreateAnd(Op0, Op1); in UpgradeIntrinsicCall() 2179 Rep = Builder.CreateAnd(LHS, RHS); in UpgradeIntrinsicCall() 2185 Rep = Builder.CreateAnd(LHS, RHS); in UpgradeIntrinsicCall() 2536 Value *Sel0 = Builder.CreateAnd(CI->getArgOperand(0), Sel); in UpgradeIntrinsicCall() 2537 Value *Sel1 = Builder.CreateAnd(CI->getArgOperand(1), NotSel); in UpgradeIntrinsicCall() 3018 Rep = Builder.CreateAnd(Builder.CreateBitCast(CI->getArgOperand(0), ITy), in UpgradeIntrinsicCall() [all …]
|