reference, declaration → definition definition → references, declarations, derived classes, virtual overrides reference to multiple definitions → definitions unreferenced |
681 CharUnits typeSize = CGF.getContext().getTypeSizeInChars(type); 683 = llvm::ConstantInt::get(CGF.SizeTy, typeSize.getQuantity()); 688 unsigned sizeWidth = CGF.SizeTy->getBitWidth(); 692 CalculateCookiePadding(CGF, e).getQuantity()); 698 ConstantEmitter(CGF).tryEmitAbstract(*e->getArraySize(), e->getType()); 700 numElements = CGF.EmitScalarExpr(*e->getArraySize()); 718 = CGF.getContext().getAsConstantArrayType(type)) { 723 CharUnits typeSize = CGF.getContext().getTypeSizeInChars(type); 760 numElements = llvm::ConstantInt::get(CGF.SizeTy, 773 sizeWithoutCookie = llvm::ConstantInt::get(CGF.SizeTy, allocationSize); 781 size = llvm::Constant::getAllOnesValue(CGF.SizeTy); 783 size = llvm::ConstantInt::get(CGF.SizeTy, allocationSize); 813 hasOverflow = CGF.Builder.CreateICmpUGE(numElements, thresholdV); 814 numElements = CGF.Builder.CreateTrunc(numElements, CGF.SizeTy); 814 numElements = CGF.Builder.CreateTrunc(numElements, CGF.SizeTy); 819 numElements = CGF.Builder.CreateSExt(numElements, CGF.SizeTy); 819 numElements = CGF.Builder.CreateSExt(numElements, CGF.SizeTy); 827 hasOverflow = CGF.Builder.CreateICmpSLT(numElements, 828 llvm::ConstantInt::get(CGF.SizeTy, minElements)); 832 numElements = CGF.Builder.CreateZExt(numElements, CGF.SizeTy); 832 numElements = CGF.Builder.CreateZExt(numElements, CGF.SizeTy); 835 assert(numElements->getType() == CGF.SizeTy); 840 hasOverflow = CGF.Builder.CreateICmpULT(numElements, 841 llvm::ConstantInt::get(CGF.SizeTy, minElements)); 846 hasOverflow = CGF.Builder.CreateOr(hasOverflow, 847 CGF.Builder.CreateICmpULT(numElements, 848 llvm::ConstantInt::get(CGF.SizeTy, minElements))); 863 = CGF.CGM.getIntrinsic(llvm::Intrinsic::umul_with_overflow, CGF.SizeTy); 863 = CGF.CGM.getIntrinsic(llvm::Intrinsic::umul_with_overflow, CGF.SizeTy); 866 llvm::ConstantInt::get(CGF.SizeTy, typeSizeMultiplier); 868 CGF.Builder.CreateCall(umul_with_overflow, {size, tsmV}); 870 llvm::Value *overflowed = CGF.Builder.CreateExtractValue(result, 1); 872 hasOverflow = CGF.Builder.CreateOr(hasOverflow, overflowed); 876 size = CGF.Builder.CreateExtractValue(result, 0); 889 llvm::ConstantInt::get(CGF.SizeTy, arraySizeMultiplier); 890 numElements = CGF.Builder.CreateMul(numElements, asmV); 903 = CGF.CGM.getIntrinsic(llvm::Intrinsic::uadd_with_overflow, CGF.SizeTy); 903 = CGF.CGM.getIntrinsic(llvm::Intrinsic::uadd_with_overflow, CGF.SizeTy); 905 llvm::Value *cookieSizeV = llvm::ConstantInt::get(CGF.SizeTy, cookieSize); 907 CGF.Builder.CreateCall(uadd_with_overflow, {size, cookieSizeV}); 909 llvm::Value *overflowed = CGF.Builder.CreateExtractValue(result, 1); 911 hasOverflow = CGF.Builder.CreateOr(hasOverflow, overflowed); 915 size = CGF.Builder.CreateExtractValue(result, 0); 922 size = CGF.Builder.CreateSelect(hasOverflow, 923 llvm::Constant::getAllOnesValue(CGF.SizeTy),