Lines Matching refs:Builder

52   IRBuilder<> Builder(BB);
53 AllocaInst *Var1 = Builder.CreateAlloca(Builder.getInt8Ty());
54 AllocaInst *Var2 = Builder.CreateAlloca(Builder.getInt32Ty());
55 AllocaInst *Var3 = Builder.CreateAlloca(Builder.getInt8Ty(),
56 Builder.getInt32(123));
58 CallInst *Start1 = Builder.CreateLifetimeStart(Var1);
59 CallInst *Start2 = Builder.CreateLifetimeStart(Var2);
60 CallInst *Start3 = Builder.CreateLifetimeStart(Var3, Builder.getInt64(100));
62 EXPECT_EQ(Start1->getArgOperand(0), Builder.getInt64(-1));
63 EXPECT_EQ(Start2->getArgOperand(0), Builder.getInt64(-1));
64 EXPECT_EQ(Start3->getArgOperand(0), Builder.getInt64(100));
70 Value *End1 = Builder.CreateLifetimeEnd(Var1);
71 Builder.CreateLifetimeEnd(Var2);
72 Builder.CreateLifetimeEnd(Var3);
83 IRBuilder<> Builder(BB);
87 BranchInst *BI = Builder.CreateCondBr(Builder.getTrue(), TBB, FBB);
96 BI = Builder.CreateCondBr(Builder.getTrue(), TBB, FBB, Weights);
106 IRBuilder<> Builder(BB);
107 LandingPadInst *LP = Builder.CreateLandingPad(Builder.getInt32Ty(),
108 Builder.getInt32(0), 0, "LP");
121 IRBuilder<> Builder(BB);
122 IntegerType *Ty1 = Builder.getInt1Ty();
126 IntegerType *IntPtrTy = Builder.getIntPtrTy(*DL);
133 IRBuilder<> Builder(BB);
137 F = Builder.CreateLoad(GV);
138 F = Builder.CreateFAdd(F, F);
140 EXPECT_FALSE(Builder.getFastMathFlags().any());
146 Builder.SetFastMathFlags(FMF);
148 F = Builder.CreateFAdd(F, F);
149 EXPECT_FALSE(Builder.getFastMathFlags().any());
152 Builder.SetFastMathFlags(FMF);
154 F = Builder.CreateFAdd(F, F);
155 EXPECT_TRUE(Builder.getFastMathFlags().any());
161 F = Builder.CreateBinOp(Instruction::FAdd, F, F);
162 EXPECT_TRUE(Builder.getFastMathFlags().any());
167 F = Builder.CreateFDiv(F, F);
168 EXPECT_TRUE(Builder.getFastMathFlags().any());
169 EXPECT_TRUE(Builder.getFastMathFlags().UnsafeAlgebra);
174 Builder.clearFastMathFlags();
176 F = Builder.CreateFDiv(F, F);
183 Builder.SetFastMathFlags(FMF);
185 F = Builder.CreateFDiv(F, F);
186 EXPECT_TRUE(Builder.getFastMathFlags().any());
187 EXPECT_TRUE(Builder.getFastMathFlags().AllowReciprocal);
192 Builder.clearFastMathFlags();
195 F = Builder.CreateFDiv(F, F);
208 IRBuilder<true, NoFolder> Builder(BB);
211 GlobalVariable *G = new GlobalVariable(*M, Builder.getInt32Ty(), true,
213 Value *V = Builder.CreateLoad(G);
215 cast<BinaryOperator>(Builder.CreateNSWAdd(V, V))->hasNoSignedWrap());
217 cast<BinaryOperator>(Builder.CreateNSWMul(V, V))->hasNoSignedWrap());
219 cast<BinaryOperator>(Builder.CreateNSWSub(V, V))->hasNoSignedWrap());
221 Builder.CreateShl(V, V, "", /* NUW */ false, /* NSW */ true))
225 cast<BinaryOperator>(Builder.CreateNUWAdd(V, V))->hasNoUnsignedWrap());
227 cast<BinaryOperator>(Builder.CreateNUWMul(V, V))->hasNoUnsignedWrap());
229 cast<BinaryOperator>(Builder.CreateNUWSub(V, V))->hasNoUnsignedWrap());
231 Builder.CreateShl(V, V, "", /* NUW */ true, /* NSW */ false))
235 Constant *C = Builder.getInt32(42);
236 EXPECT_TRUE(cast<OverflowingBinaryOperator>(Builder.CreateNSWAdd(C, C))
238 EXPECT_TRUE(cast<OverflowingBinaryOperator>(Builder.CreateNSWSub(C, C))
240 EXPECT_TRUE(cast<OverflowingBinaryOperator>(Builder.CreateNSWMul(C, C))
243 Builder.CreateShl(C, C, "", /* NUW */ false, /* NSW */ true))
246 EXPECT_TRUE(cast<OverflowingBinaryOperator>(Builder.CreateNUWAdd(C, C))
248 EXPECT_TRUE(cast<OverflowingBinaryOperator>(Builder.CreateNUWSub(C, C))
250 EXPECT_TRUE(cast<OverflowingBinaryOperator>(Builder.CreateNUWMul(C, C))
253 Builder.CreateShl(C, C, "", /* NUW */ true, /* NSW */ false))
258 IRBuilder<> Builder(BB);
259 EXPECT_FALSE(Builder.getFastMathFlags().allowReciprocal());
265 Builder.SetDefaultFPMathTag(FPMathA);
268 IRBuilder<>::FastMathFlagGuard Guard(Builder);
271 Builder.SetFastMathFlags(FMF);
272 Builder.SetDefaultFPMathTag(FPMathB);
273 EXPECT_TRUE(Builder.getFastMathFlags().allowReciprocal());
274 EXPECT_EQ(FPMathB, Builder.getDefaultFPMathTag());
277 EXPECT_FALSE(Builder.getFastMathFlags().allowReciprocal());
278 EXPECT_EQ(FPMathA, Builder.getDefaultFPMathTag());
280 Value *F = Builder.CreateLoad(GV);
283 IRBuilder<>::InsertPointGuard Guard(Builder);
284 Builder.SetInsertPoint(cast<Instruction>(F));
285 EXPECT_EQ(F, Builder.GetInsertPoint());
288 EXPECT_EQ(BB->end(), Builder.GetInsertPoint());
289 EXPECT_EQ(BB, Builder.GetInsertBlock());
293 IRBuilder<> Builder(BB);
300 AllocaInst *I = Builder.CreateAlloca(Builder.getInt8Ty());