Lines Matching refs:Builder

213   CGBuilderTy &Builder = CGF.Builder;
232 llvm::Value *RawAdj = Builder.CreateExtractValue(MemFnPtr, 1, "memptr.adj");
237 Adj = Builder.CreateAShr(Adj, ptrdiff_1, "memptr.adj.shifted");
241 llvm::Value *Ptr = Builder.CreateBitCast(This, Builder.getInt8PtrTy());
242 Ptr = Builder.CreateInBoundsGEP(Ptr, Adj);
243 This = Builder.CreateBitCast(Ptr, This->getType(), "this.adjusted");
246 llvm::Value *FnAsInt = Builder.CreateExtractValue(MemFnPtr, 0, "memptr.ptr");
252 IsVirtual = Builder.CreateAnd(RawAdj, ptrdiff_1);
254 IsVirtual = Builder.CreateAnd(FnAsInt, ptrdiff_1);
255 IsVirtual = Builder.CreateIsNotNull(IsVirtual, "memptr.isvirtual");
256 Builder.CreateCondBr(IsVirtual, FnVirtual, FnNonVirtual);
264 llvm::Type *VTableTy = Builder.getInt8PtrTy();
265 llvm::Value *VTable = Builder.CreateBitCast(This, VTableTy->getPointerTo());
266 VTable = Builder.CreateLoad(VTable, "memptr.vtable");
270 if (!IsARM) VTableOffset = Builder.CreateSub(VTableOffset, ptrdiff_1);
271 VTable = Builder.CreateGEP(VTable, VTableOffset);
274 VTable = Builder.CreateBitCast(VTable, FTy->getPointerTo()->getPointerTo());
275 llvm::Value *VirtualFn = Builder.CreateLoad(VTable, "memptr.virtualfn");
282 Builder.CreateIntToPtr(FnAsInt, FTy->getPointerTo(), "memptr.nonvirtualfn");
286 llvm::PHINode *Callee = Builder.CreatePHI(FTy->getPointerTo(), 2);
300 CGBuilderTy &Builder = CGF.Builder;
305 Base = Builder.CreateBitCast(Base, Builder.getInt8Ty()->getPointerTo(AS));
308 llvm::Value *Addr = Builder.CreateInBoundsGEP(Base, MemPtr, "memptr.offset");
314 return Builder.CreateBitCast(Addr, PType);
358 CGBuilderTy &Builder = CGF.Builder;
369 dst = Builder.CreateNSWSub(src, adj, "adj");
371 dst = Builder.CreateNSWAdd(src, adj, "adj");
375 llvm::Value *isNull = Builder.CreateICmpEQ(src, null, "memptr.isnull");
376 return Builder.CreateSelect(isNull, src, dst);
386 llvm::Value *srcAdj = Builder.CreateExtractValue(src, 1, "src.adj");
389 dstAdj = Builder.CreateNSWSub(srcAdj, adj, "adj");
391 dstAdj = Builder.CreateNSWAdd(srcAdj, adj, "adj");
393 return Builder.CreateInsertValue(src, dstAdj, 1);
572 CGBuilderTy &Builder = CGF.Builder;
589 return Builder.CreateICmp(Eq, L, R);
601 llvm::Value *LPtr = Builder.CreateExtractValue(L, 0, "lhs.memptr.ptr");
602 llvm::Value *RPtr = Builder.CreateExtractValue(R, 0, "rhs.memptr.ptr");
606 llvm::Value *PtrEq = Builder.CreateICmp(Eq, LPtr, RPtr, "cmp.ptr");
612 llvm::Value *EqZero = Builder.CreateICmp(Eq, LPtr, Zero, "cmp.ptr.null");
616 llvm::Value *LAdj = Builder.CreateExtractValue(L, 1, "lhs.memptr.adj");
617 llvm::Value *RAdj = Builder.CreateExtractValue(R, 1, "rhs.memptr.adj");
618 llvm::Value *AdjEq = Builder.CreateICmp(Eq, LAdj, RAdj, "cmp.adj");
626 llvm::Value *OrAdj = Builder.CreateOr(LAdj, RAdj, "or.adj");
627 llvm::Value *OrAdjAnd1 = Builder.CreateAnd(OrAdj, One);
628 llvm::Value *OrAdjAnd1EqZero = Builder.CreateICmp(Eq, OrAdjAnd1, Zero,
630 EqZero = Builder.CreateBinOp(And, EqZero, OrAdjAnd1EqZero);
634 llvm::Value *Result = Builder.CreateBinOp(Or, EqZero, AdjEq);
635 Result = Builder.CreateBinOp(And, PtrEq, Result,
644 CGBuilderTy &Builder = CGF.Builder;
651 return Builder.CreateICmpNE(MemPtr, NegativeOne, "memptr.tobool");
655 llvm::Value *Ptr = Builder.CreateExtractValue(MemPtr, 0, "memptr.ptr");
658 llvm::Value *Result = Builder.CreateICmpNE(Ptr, Zero, "memptr.tobool");
664 llvm::Value *Adj = Builder.CreateExtractValue(MemPtr, 1, "memptr.adj");
665 llvm::Value *VirtualBit = Builder.CreateAnd(Adj, One, "memptr.virtualbit");
666 llvm::Value *IsVirtual = Builder.CreateICmpNE(VirtualBit, Zero,
668 Result = Builder.CreateOr(Result, IsVirtual);
771 = CGF.Builder.CreateLoad(CGF.GetAddrOfLocalVar(getVTTDecl(CGF)),
782 CGF.Builder.CreateStore(getThisValue(CGF), CGF.ReturnValue);
828 CookiePtr = CGF.Builder.CreateConstInBoundsGEP1_64(CookiePtr,
833 = CGF.Builder.CreateBitCast(CookiePtr,
835 CGF.Builder.CreateStore(NumElements, NumElementsPtr);
839 return CGF.Builder.CreateConstInBoundsGEP1_64(NewPtr,
852 CGF.Builder.CreateConstInBoundsGEP1_64(numElementsPtr,
857 CGF.Builder.CreateBitCast(numElementsPtr, CGF.SizeTy->getPointerTo(AS));
858 return CGF.Builder.CreateLoad(numElementsPtr);
892 CookiePtr = CGF.Builder.CreateBitCast(CookiePtr, SizeTy->getPointerTo(AS));
895 CGF.Builder.CreateStore(ElementSize, CookiePtr);
898 CookiePtr = CGF.Builder.CreateConstInBoundsGEP1_32(CookiePtr, 1);
899 CGF.Builder.CreateStore(NumElements, CookiePtr);
904 return CGF.Builder.CreateConstInBoundsGEP1_64(NewPtr,
914 = CGF.Builder.CreateConstInBoundsGEP1_64(allocPtr, CGF.SizeSizeInBytes);
918 CGF.Builder.CreateBitCast(numElementsPtr, CGF.SizeTy->getPointerTo(AS));
919 return CGF.Builder.CreateLoad(numElementsPtr);
961 CGF.Builder.CreateCall(getGuardAbortFn(CGF.CGM, Guard->getType()), Guard)
973 CGBuilderTy &Builder = CGF.Builder;
1031 llvm::Value *V = Builder.CreateLoad(guard);
1032 V = Builder.CreateAnd(V, Builder.getInt32(1));
1033 isInitialized = Builder.CreateIsNull(V, "guard.uninitialized");
1052 Builder.CreateLoad(Builder.CreateBitCast(guard, CGM.Int8PtrTy));
1064 isInitialized = Builder.CreateIsNull(LI, "guard.uninitialized");
1071 Builder.CreateCondBr(isInitialized, InitCheckBlock, EndBlock);
1079 = Builder.CreateCall(getGuardAcquireFn(CGM, guardPtrTy), guard);
1083 Builder.CreateCondBr(Builder.CreateIsNotNull(V, "tobool"),
1100 Builder.CreateCall(getGuardReleaseFn(CGM, guardPtrTy), guard);
1102 Builder.CreateStore(llvm::ConstantInt::get(guardTy, 1), guard);
1138 CGF.Builder.CreateCall(atexit, args)->setDoesNotThrow();