Lines Matching refs:IRB

38   IRBuilder<NoFolder> IRB;  member
45 BB(BasicBlock::Create(Ctx, "entry", F)), IRB(BB) {} in PatternMatchTest()
54 Value *One = IRB.CreateAdd(IRB.CreateAdd(IRB.getInt32(1), IRB.getInt32(2)), in TEST_F()
55 IRB.getInt32(42)); in TEST_F()
56 Value *Two = IRB.CreateAdd(One, IRB.getInt32(42)); in TEST_F()
57 Value *Leaf = IRB.CreateAdd(IRB.CreateAdd(Two, IRB.getInt32(8)), in TEST_F()
58 IRB.CreateAdd(Two, IRB.getInt32(13))); in TEST_F()
69 Type *IntTy = IRB.getInt32Ty(); in TEST_F()
108 Type *IntTy = IRB.getInt32Ty(); in TEST_F()
147 Type *IntTy = IRB.getInt32Ty(); in TEST_F()
186 Type *IntTy = IRB.getInt32Ty(); in TEST_F()
209 Type *IntTy = IRB.getInt32Ty(); in TEST_F()
248 Type *IntTy = IRB.getInt32Ty(); in TEST_F()
287 Type *IntTy = IRB.getInt32Ty(); in TEST_F()
326 Type *IntTy = IRB.getInt32Ty(); in TEST_F()
365 Type *IntTy = IRB.getInt32Ty(); in TEST_F()
404 Type *IntTy = IRB.getInt32Ty(); in TEST_F()
443 Type *IntTy = IRB.getInt32Ty(); in TEST_F()
482 Value *X = IRB.CreateAdd(IRB.getInt32(1), IRB.getInt32(0)); in TEST_F()
498 LLVMContext &Ctx = IRB.getContext(); in TEST_F()
500 Value *One32 = IRB.getInt32(1); in TEST_F()
501 Value *One64Z = IRB.CreateZExt(One32, IntegerType::getInt64Ty(Ctx)); in TEST_F()
502 Value *One64S = IRB.CreateSExt(One32, IntegerType::getInt64Ty(Ctx)); in TEST_F()
534 Value *C128 = IRB.getInt32(128); in TEST_F()
543 Value *CIntMin = IRB.getInt64(APSInt::getSignedMinValue(64).getSExtValue()); in TEST_F()
554 Value *X = IRB.getInt32(1); in TEST_F()
555 Value *Y = IRB.getInt32(2); in TEST_F()
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()
604 Type *FltTy = IRB.getFloatTy(); in TEST_F()
611 .match(IRB.CreateSelect(IRB.CreateFCmpOLT(L, R), L, R))); in TEST_F()
617 .match(IRB.CreateSelect(IRB.CreateFCmpOLE(L, R), L, R))); in TEST_F()
623 .match(IRB.CreateSelect(IRB.CreateFCmpOGE(L, R), L, R))); in TEST_F()
627 .match(IRB.CreateSelect(IRB.CreateFCmpOGT(L, R), L, R))); in TEST_F()
638 .match(IRB.CreateSelect(IRB.CreateFCmpOGE(L, R), R, L))); in TEST_F()
640 .match(IRB.CreateSelect(IRB.CreateFCmpUGE(L, R), R, L))); in TEST_F()
646 .match(IRB.CreateSelect(IRB.CreateFCmpOGT(L, R), R, L))); in TEST_F()
648 .match(IRB.CreateSelect(IRB.CreateFCmpUGT(L, R), R, L))); in TEST_F()
654 Type *FltTy = IRB.getFloatTy(); in TEST_F()
661 .match(IRB.CreateSelect(IRB.CreateFCmpOGT(L, R), L, R))); in TEST_F()
667 .match(IRB.CreateSelect(IRB.CreateFCmpOGE(L, R), L, R))); in TEST_F()
673 .match(IRB.CreateSelect(IRB.CreateFCmpOLE(L, R), L, R))); in TEST_F()
677 .match(IRB.CreateSelect(IRB.CreateFCmpOLT(L, R), L, R))); in TEST_F()
689 .match(IRB.CreateSelect(IRB.CreateFCmpOLE(L, R), R, L))); in TEST_F()
691 .match(IRB.CreateSelect(IRB.CreateFCmpULE(L, R), R, L))); in TEST_F()
697 .match(IRB.CreateSelect(IRB.CreateFCmpOLT(L, R), R, L))); in TEST_F()
699 .match(IRB.CreateSelect(IRB.CreateFCmpULT(L, R), R, L))); in TEST_F()
705 Type *FltTy = IRB.getFloatTy(); in TEST_F()
712 .match(IRB.CreateSelect(IRB.CreateFCmpULT(L, R), L, R))); in TEST_F()
718 .match(IRB.CreateSelect(IRB.CreateFCmpULE(L, R), L, R))); in TEST_F()
724 .match(IRB.CreateSelect(IRB.CreateFCmpUGE(L, R), L, R))); in TEST_F()
728 .match(IRB.CreateSelect(IRB.CreateFCmpUGT(L, R), L, R))); in TEST_F()
739 .match(IRB.CreateSelect(IRB.CreateFCmpUGE(L, R), R, L))); in TEST_F()
741 .match(IRB.CreateSelect(IRB.CreateFCmpOGE(L, R), R, L))); in TEST_F()
747 .match(IRB.CreateSelect(IRB.CreateFCmpUGT(L, R), R, L))); in TEST_F()
749 .match(IRB.CreateSelect(IRB.CreateFCmpOGT(L, R), R, L))); in TEST_F()
755 Type *FltTy = IRB.getFloatTy(); in TEST_F()
762 .match(IRB.CreateSelect(IRB.CreateFCmpUGT(L, R), L, R))); in TEST_F()
768 .match(IRB.CreateSelect(IRB.CreateFCmpUGE(L, R), L, R))); in TEST_F()
774 .match(IRB.CreateSelect(IRB.CreateFCmpULE(L, R), L, R))); in TEST_F()
778 .match(IRB.CreateSelect(IRB.CreateFCmpULT(L, R), L, R))); in TEST_F()
789 .match(IRB.CreateSelect(IRB.CreateFCmpULE(L, R), R, L))); in TEST_F()
791 .match(IRB.CreateSelect(IRB.CreateFCmpOLE(L, R), R, L))); in TEST_F()
797 .match(IRB.CreateSelect(IRB.CreateFCmpULT(L, R), R, L))); in TEST_F()
799 .match(IRB.CreateSelect(IRB.CreateFCmpOLT(L, R), R, L))); in TEST_F()
805 Value *L = IRB.getInt32(1); in TEST_F()
806 Value *R = IRB.getInt32(2); in TEST_F()
810 m_NSWAdd(m_Value(MatchL), m_Value(MatchR)).match(IRB.CreateNSWAdd(L, R))); in TEST_F()
815 m_NSWSub(m_Value(MatchL), m_Value(MatchR)).match(IRB.CreateNSWSub(L, R))); in TEST_F()
820 m_NSWMul(m_Value(MatchL), m_Value(MatchR)).match(IRB.CreateNSWMul(L, R))); in TEST_F()
825 IRB.CreateShl(L, R, "", /* NUW */ false, /* NSW */ true))); in TEST_F()
830 m_NUWAdd(m_Value(MatchL), m_Value(MatchR)).match(IRB.CreateNUWAdd(L, R))); in TEST_F()
835 m_NUWSub(m_Value(MatchL), m_Value(MatchR)).match(IRB.CreateNUWSub(L, R))); in TEST_F()
840 m_NUWMul(m_Value(MatchL), m_Value(MatchR)).match(IRB.CreateNUWMul(L, R))); in TEST_F()
845 IRB.CreateShl(L, R, "", /* NUW */ true, /* NSW */ false))); in TEST_F()
849 EXPECT_FALSE(m_NSWAdd(m_Value(), m_Value()).match(IRB.CreateAdd(L, R))); in TEST_F()
850 EXPECT_FALSE(m_NSWAdd(m_Value(), m_Value()).match(IRB.CreateNUWAdd(L, R))); in TEST_F()
851 EXPECT_FALSE(m_NSWAdd(m_Value(), m_Value()).match(IRB.CreateNSWSub(L, R))); in TEST_F()
852 EXPECT_FALSE(m_NSWSub(m_Value(), m_Value()).match(IRB.CreateSub(L, R))); in TEST_F()
853 EXPECT_FALSE(m_NSWSub(m_Value(), m_Value()).match(IRB.CreateNUWSub(L, R))); in TEST_F()
854 EXPECT_FALSE(m_NSWSub(m_Value(), m_Value()).match(IRB.CreateNSWAdd(L, R))); in TEST_F()
855 EXPECT_FALSE(m_NSWMul(m_Value(), m_Value()).match(IRB.CreateMul(L, R))); in TEST_F()
856 EXPECT_FALSE(m_NSWMul(m_Value(), m_Value()).match(IRB.CreateNUWMul(L, R))); in TEST_F()
857 EXPECT_FALSE(m_NSWMul(m_Value(), m_Value()).match(IRB.CreateNSWAdd(L, R))); in TEST_F()
858 EXPECT_FALSE(m_NSWShl(m_Value(), m_Value()).match(IRB.CreateShl(L, R))); in TEST_F()
860 IRB.CreateShl(L, R, "", /* NUW */ true, /* NSW */ false))); in TEST_F()
861 EXPECT_FALSE(m_NSWShl(m_Value(), m_Value()).match(IRB.CreateNSWAdd(L, R))); in TEST_F()
863 EXPECT_FALSE(m_NUWAdd(m_Value(), m_Value()).match(IRB.CreateAdd(L, R))); in TEST_F()
864 EXPECT_FALSE(m_NUWAdd(m_Value(), m_Value()).match(IRB.CreateNSWAdd(L, R))); in TEST_F()
865 EXPECT_FALSE(m_NUWAdd(m_Value(), m_Value()).match(IRB.CreateNUWSub(L, R))); in TEST_F()
866 EXPECT_FALSE(m_NUWSub(m_Value(), m_Value()).match(IRB.CreateSub(L, R))); in TEST_F()
867 EXPECT_FALSE(m_NUWSub(m_Value(), m_Value()).match(IRB.CreateNSWSub(L, R))); in TEST_F()
868 EXPECT_FALSE(m_NUWSub(m_Value(), m_Value()).match(IRB.CreateNUWAdd(L, R))); in TEST_F()
869 EXPECT_FALSE(m_NUWMul(m_Value(), m_Value()).match(IRB.CreateMul(L, R))); in TEST_F()
870 EXPECT_FALSE(m_NUWMul(m_Value(), m_Value()).match(IRB.CreateNSWMul(L, R))); in TEST_F()
871 EXPECT_FALSE(m_NUWMul(m_Value(), m_Value()).match(IRB.CreateNUWAdd(L, R))); in TEST_F()
872 EXPECT_FALSE(m_NUWShl(m_Value(), m_Value()).match(IRB.CreateShl(L, R))); in TEST_F()
874 IRB.CreateShl(L, R, "", /* NUW */ false, /* NSW */ true))); in TEST_F()
875 EXPECT_FALSE(m_NUWShl(m_Value(), m_Value()).match(IRB.CreateNUWAdd(L, R))); in TEST_F()
885 Value *Alloca = IRB.CreateAlloca(IRB.getInt32Ty()); in TEST_F()
886 Value *LoadInst = IRB.CreateLoad(IRB.getInt32Ty(), Alloca); in TEST_F()
887 Value *FourtyTwo = IRB.getInt32(42); in TEST_F()
888 Value *StoreInst = IRB.CreateStore(FourtyTwo, Alloca); in TEST_F()
931 Type *VecTy = FixedVectorType::get(IRB.getInt8Ty(), 2); in TEST_F()
932 Type *i32 = IRB.getInt32Ty(); in TEST_F()
935 Value *Val = IRB.CreateAdd(IRB.getInt8(0), IRB.getInt8(1)); in TEST_F()
936 Value *Val2 = IRB.CreateAdd(Val, IRB.getInt8(3)); in TEST_F()
943 Value *VI1 = IRB.CreateInsertElement(VecTy, IRB.getInt8(1), (uint64_t)0); in TEST_F()
944 Value *VI2 = IRB.CreateInsertElement(VI1, Val2, Val); in TEST_F()
945 Value *VI3 = IRB.CreateInsertElement(VI1, Val2, (uint64_t)1); in TEST_F()
946 Value *VI4 = IRB.CreateInsertElement(VI1, IRB.getInt8(2), Val); in TEST_F()
948 Value *EX1 = IRB.CreateExtractElement(VI4, Val); in TEST_F()
949 Value *EX2 = IRB.CreateExtractElement(VI4, (uint64_t)0); in TEST_F()
950 Value *EX3 = IRB.CreateExtractElement(IdxVec, (uint64_t)1); in TEST_F()
956 Value *SI1 = IRB.CreateShuffleVector(VI1, ZeroMask); in TEST_F()
957 Value *SI2 = IRB.CreateShuffleVector(VI3, VI4, IdxVec); in TEST_F()
958 Value *SI3 = IRB.CreateShuffleVector(VI3, ZeroMask); in TEST_F()
959 Value *SI4 = IRB.CreateShuffleVector(VI4, ZeroMask); in TEST_F()
961 Value *SP1 = IRB.CreateVectorSplat(2, IRB.getInt8(2)); in TEST_F()
962 Value *SP2 = IRB.CreateVectorSplat(2, Val); in TEST_F()
1025 Type *ScalarTy = IRB.getInt8Ty(); in TEST_F()
1056 Type *ScalarTy = IRB.getInt8Ty(); in TEST_F()
1121 Type *ScalarTy = IRB.getFloatTy(); in TEST_F()
1243 Type *FltTy = IRB.getFloatTy(); in TEST_F()
1247 Value *V = IRB.CreateFNeg(One); in TEST_F()
1248 Value *V1 = IRB.CreateFSub(NZ, One); in TEST_F()
1249 Value *V2 = IRB.CreateFSub(Z, One); in TEST_F()
1250 Value *V3 = IRB.CreateFAdd(NZ, One); in TEST_F()
1274 Value *Br1 = IRB.CreateCondBr(IRB.getTrue(), TrueBB, FalseBB); in TEST_F()
1294 Value *Br2 = IRB.CreateCondBr(IRB.getTrue(), TrueBB, TrueBB); in TEST_F()
1300 Value *Add = IRB.CreateBinaryIntrinsic(Intrinsic::uadd_with_overflow, in TEST_F()
1301 IRB.getInt32(0), IRB.getInt32(0)); in TEST_F()
1302 Value *Add0 = IRB.CreateExtractValue(Add, 0); in TEST_F()
1303 Value *Add1 = IRB.CreateExtractValue(Add, 1); in TEST_F()
1324 Type *Ty = IRB.getInt32Ty(); in TEST_F()
1331 .match(IRB.CreateBinaryIntrinsic(Intrinsic::smax, L, R))); in TEST_F()
1336 .match(IRB.CreateBinaryIntrinsic(Intrinsic::smin, L, R))); in TEST_F()
1341 .match(IRB.CreateBinaryIntrinsic(Intrinsic::umax, L, R))); in TEST_F()
1346 .match(IRB.CreateBinaryIntrinsic(Intrinsic::umin, L, R))); in TEST_F()
1352 .match(IRB.CreateBinaryIntrinsic(Intrinsic::smin, L, R))); in TEST_F()
1354 .match(IRB.CreateBinaryIntrinsic(Intrinsic::umax, L, R))); in TEST_F()
1356 .match(IRB.CreateBinaryIntrinsic(Intrinsic::umin, L, R))); in TEST_F()
1358 .match(IRB.CreateBinaryIntrinsic(Intrinsic::smax, L, R))); in TEST_F()
1362 Value *Name = IRB.CreateAlloca(IRB.getInt8Ty()); in TEST_F()
1363 Value *Hash = IRB.getInt64(0); in TEST_F()
1364 Value *Num = IRB.getInt32(1); in TEST_F()
1365 Value *Index = IRB.getInt32(2); in TEST_F()
1366 Value *Step = IRB.getInt64(3); in TEST_F()
1618 Type *StructTy = StructType::create(IRB.getContext(), in TEST_F()
1619 {IRB.getInt32Ty(), IRB.getInt64Ty()}); in TEST_F()
1621 IRB.CreateInsertValue(UndefValue::get(StructTy), IRB.getInt32(20), 0); in TEST_F()
1622 Value *Ins1 = IRB.CreateInsertValue(Ins0, IRB.getInt64(90), 1); in TEST_F()
1635 EXPECT_FALSE(match(IRB.getInt64(99), m_InsertValue<0>(m_Value(), m_Value()))); in TEST_F()
1639 Value *Alloca = IRB.CreateAlloca(IRB.getInt1Ty()); in TEST_F()
1640 Value *X = IRB.CreateLoad(IRB.getInt1Ty(), Alloca); in TEST_F()
1641 Value *Y = IRB.CreateLoad(IRB.getInt1Ty(), Alloca); in TEST_F()
1642 Constant *T = IRB.getInt1(true); in TEST_F()
1643 Constant *F = IRB.getInt1(false); in TEST_F()
1644 Value *And = IRB.CreateSelect(X, Y, F); in TEST_F()
1645 Value *Or = IRB.CreateSelect(X, T, Y); in TEST_F()
1713 Type *VecTy = ScalableVectorType::get(IRB.getInt8Ty(), 1); in TEST_F()
1716 Value *GEP = IRB.CreateGEP(VecTy, NullPtrVec, IRB.getInt64(1)); in TEST_F()
1717 Value *PtrToInt = IRB.CreatePtrToInt(GEP, DL.getIntPtrType(GEP->getType())); in TEST_F()
1722 Type *VecTy2 = ScalableVectorType::get(IRB.getInt8Ty(), 2); in TEST_F()
1724 Value *BitCast = IRB.CreateBitCast(NullPtrVec2, VecPtrTy); in TEST_F()
1725 Value *GEP2 = IRB.CreateGEP(VecTy, BitCast, IRB.getInt64(1)); in TEST_F()
1727 IRB.CreatePtrToInt(GEP2, DL.getIntPtrType(GEP2->getType())); in TEST_F()
1732 Type *ScalarTy = IRB.getInt8Ty(); in TEST_F()
1745 Value *Not = IRB.CreateXor(VectorZero, VectorOnes); in TEST_F()
1751 Value *NotCommute = IRB.CreateXor(VectorOnes, VectorZero); in TEST_F()
1757 Value *NotWithUndefs = IRB.CreateXor(VectorZero, VectorMixed); in TEST_F()
1761 Value *NotWithUndefsCommute = IRB.CreateXor(VectorMixed, VectorZero); in TEST_F()
1774 auto &IRB = PatternMatchTest::IRB; in TYPED_TEST() local
1779 Value *L = IRB.getInt32(1); in TYPED_TEST()
1780 Value *R = IRB.getInt32(2); in TYPED_TEST()
1788 .match((InstructionType)IRB.CreateICmp(Pred, L, R))); in TYPED_TEST()
1795 M->getOrInsertGlobal("dummy", PointerType::getUnqual(IRB.getInt32Ty())); in TEST_F()
1796 Constant *S = ConstantExpr::getPtrToInt(G, IRB.getInt32Ty()); in TEST_F()
1797 Type *VecTy = FixedVectorType::get(IRB.getInt32Ty(), 2); in TEST_F()
1799 Constant *V = ConstantExpr::getInsertElement(P, S, IRB.getInt32(0)); in TEST_F()