Home
last modified time | relevance | path

Searched refs:CreateAnd (Results 1 – 25 of 73) sorted by relevance

123

/llvm-project-15.0.7/llvm/lib/CodeGen/
H A DIntrinsicLowering.cpp79 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 DAtomicExpandPass.cpp712 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 DExpandVectorPredication.cpp346 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 DGuardUtils.cpp75 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 DLowerAtomic.cpp54 return Builder.CreateAnd(Loaded, Inc, "new"); in buildAtomicRMWValue()
56 return Builder.CreateNot(Builder.CreateAnd(Loaded, Inc), "new"); in buildAtomicRMWValue()
H A DIntegerDivision.cpp315 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 DInstCombineAndOrXor.cpp573 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 DInstCombineShifts.cpp462 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 DInstCombineCompares.cpp301 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 DInstCombineAddSub.cpp778 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 DInstCombineCasts.cpp840 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 DInstCombineSelect.cpp134 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 DInstCombineSimplifyDemanded.cpp292 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 DScalarizeMaskedMemIntrin.cpp214 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 DLoopPredication.cpp617 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 DGuardWidening.cpp551 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 DInstrOrderFile.cpp141 Value *WrappedIdx = updateB.CreateAnd( in generateCodeSequence()
H A DHWAddressSanitizer.cpp856 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 DMemorySanitizer.cpp2068 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 DPatternMatch.cpp580 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 DHexagonVectorCombine.cpp469 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 DHexagonLoopIdiomRecognition.cpp1056 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 DAMDGPUAtomicOptimizer.cpp592 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 DIRBuilder.h1348 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 DAutoUpgrade.cpp1519 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 …]

123