Lines Matching defs:fields

606                              llvm::SmallVectorImpl<llvm::Constant *> &fields);
639 /// Emits a full member pointer with the fields common to data and
2794 llvm::SmallVector<llvm::Type *, 4> fields;
2796 fields.push_back(CGM.VoidPtrTy); // FunctionPointerOrVirtualThunk
2798 fields.push_back(CGM.IntTy); // FieldOffset
2802 fields.push_back(CGM.IntTy);
2804 fields.push_back(CGM.IntTy);
2806 fields.push_back(CGM.IntTy); // VirtualBaseAdjustmentOffset
2808 if (fields.size() == 1)
2809 return fields[0];
2810 return llvm::StructType::get(CGM.getLLVMContext(), fields);
2815 llvm::SmallVectorImpl<llvm::Constant *> &fields) {
2816 assert(fields.empty());
2821 fields.push_back(llvm::Constant::getNullValue(CGM.VoidPtrTy));
2824 fields.push_back(getZeroInt()); // FieldOffset
2826 fields.push_back(getAllOnesInt()); // FieldOffset
2831 fields.push_back(getZeroInt());
2833 fields.push_back(getZeroInt());
2835 fields.push_back(getAllOnesInt());
2840 llvm::SmallVector<llvm::Constant *, 4> fields;
2841 GetNullMemberPointerFields(MPT, fields);
2842 if (fields.size() == 1)
2843 return fields[0];
2844 llvm::Constant *Res = llvm::ConstantStruct::getAnon(fields);
2862 llvm::SmallVector<llvm::Constant *, 4> fields;
2863 fields.push_back(FirstField);
2866 fields.push_back(llvm::ConstantInt::get(
2873 fields.push_back(llvm::ConstantInt::get(CGM.IntTy, Offs.getQuantity()));
2876 // The rest of the fields are adjusted by conversions to a more derived class.
2878 fields.push_back(llvm::ConstantInt::get(CGM.IntTy, VBTableIndex));
2880 return llvm::ConstantStruct::getAnon(fields);
3001 // The rest of the fields are common with data member pointers.
3008 /// while for data member pointers we must compare all fields.
3074 llvm::SmallVector<llvm::Constant *, 4> fields;
3077 fields.push_back(llvm::Constant::getNullValue(CGM.VoidPtrTy));
3079 GetNullMemberPointerFields(MPT, fields);
3080 assert(!fields.empty());
3084 llvm::Value *Res = Builder.CreateICmpNE(FirstField, fields[0], "memptr.cmp0");
3087 // field. The other fields if any can be garbage.
3092 for (int I = 1, E = fields.size(); I < E; ++I) {
3094 llvm::Value *Next = Builder.CreateICmpNE(Field, fields[I], "memptr.cmp");
3114 // Otherwise, break down all the fields for comparison. Hopefully these
3234 // Extract the fields we need, regardless of model. We'll apply them if we
3274 // We may be adding or dropping fields from the member pointer, so we need
3452 // Recompose dst from the null struct and the adjusted fields from src.
3520 // Extract the fields we need, regardless of model. We'll apply them if we
3584 // vbtable. The names of the BaseClassDescriptors have all of their fields
3829 // Compute the fields for the BaseClassDescriptor. They are computed up front
3887 // Compute the fields of the complete object locator.
4000 // Compute the fields for the TypeDescriptor.
4051 // non-trivial destructor, there are no fields with a non-trivial
4492 // (ABIInfo::isHomogeneousAggregate) checks the bases and fields, but that
4493 // caller doesn't consider empty bases/fields to be non-homogenous, but it
4508 // empty fields seem to be caught by the ABIInfo::isHomogeneousAggregate
4510 // field without padding? Not that I know of, so don't check fields here &