}
llvm::Constant *CGObjCGNU::MakeGlobal(const llvm::StructType *Ty,
std::vector<llvm::Constant*> &V, const std::string &Name) {
- llvm::Constant *C = VMContext.getConstantStruct(Ty, V);
+ llvm::Constant *C = llvm::ConstantStruct::get(Ty, V);
return new llvm::GlobalVariable(TheModule, Ty, false,
llvm::GlobalValue::InternalLinkage, C, Name);
}
Method = VMContext.getConstantExprBitCast(Method,
VMContext.getPointerTypeUnqual(IMPTy));
Elements.push_back(Method);
- Methods.push_back(VMContext.getConstantStruct(ObjCMethodTy, Elements));
+ Methods.push_back(llvm::ConstantStruct::get(ObjCMethodTy, Elements));
}
}
Elements.push_back( VMContext.getConstantExprGetElementPtr(IvarTypes[i],
Zeros, 2));
Elements.push_back(IvarOffsets[i]);
- Ivars.push_back(VMContext.getConstantStruct(ObjCIvarTy, Elements));
+ Ivars.push_back(llvm::ConstantStruct::get(ObjCIvarTy, Elements));
}
// Array of method structures
Zeros, 2));
Elements.push_back(
VMContext.getConstantExprGetElementPtr(MethodTypes[i], Zeros, 2));
- Methods.push_back(VMContext.getConstantStruct(ObjCMethodDescTy, Elements));
+ Methods.push_back(llvm::ConstantStruct::get(ObjCMethodDescTy, Elements));
}
llvm::ArrayType *ObjCMethodArrayTy = VMContext.getArrayType(ObjCMethodDescTy,
MethodNames.size());
Elements.push_back(MakeConstantString(iter->first.first, ".objc_sel_name"));
Elements.push_back(MakeConstantString(iter->first.second,
".objc_sel_types"));
- Selectors.push_back(VMContext.getConstantStruct(SelStructTy, Elements));
+ Selectors.push_back(llvm::ConstantStruct::get(SelStructTy, Elements));
Elements.clear();
}
for (llvm::StringMap<llvm::GlobalAlias*>::iterator
Elements.push_back(
MakeConstantString(iter->getKeyData(), ".objc_sel_name"));
Elements.push_back(NULLPtr);
- Selectors.push_back(VMContext.getConstantStruct(SelStructTy, Elements));
+ Selectors.push_back(llvm::ConstantStruct::get(SelStructTy, Elements));
Elements.clear();
}
Elements.push_back(NULLPtr);
Elements.push_back(NULLPtr);
- Selectors.push_back(VMContext.getConstantStruct(SelStructTy, Elements));
+ Selectors.push_back(llvm::ConstantStruct::get(SelStructTy, Elements));
Elements.clear();
// Number of static selectors
Elements.push_back(llvm::ConstantInt::get(LongTy, Selectors.size() ));
+ PD->getNameAsString(),
"__OBJC,__cat_cls_meth,regular,no_dead_strip",
ClassMethods);
- llvm::Constant *Init = VMContext.getConstantStruct(ObjCTypes.ProtocolTy,
+ llvm::Constant *Init = llvm::ConstantStruct::get(ObjCTypes.ProtocolTy,
Values);
if (Entry) {
return VMContext.getNullValue(ObjCTypes.ProtocolExtensionPtrTy);
llvm::Constant *Init =
- VMContext.getConstantStruct(ObjCTypes.ProtocolExtensionTy, Values);
+ llvm::ConstantStruct::get(ObjCTypes.ProtocolExtensionTy, Values);
// No special section, but goes in llvm.used
return CreateMetadataVar("\01L_OBJC_PROTOCOLEXT_" + PD->getNameAsString(),
ProtocolRefs.size()),
ProtocolRefs);
- llvm::Constant *Init = VMContext.getConstantStruct(Values);
+ llvm::Constant *Init = llvm::ConstantStruct::get(Values);
llvm::GlobalVariable *GV =
CreateMetadataVar(Name, Init, "__OBJC,__cat_cls_meth,regular,no_dead_strip",
4, false);
const ObjCPropertyDecl *PD = *I;
Prop[0] = GetPropertyName(PD->getIdentifier());
Prop[1] = GetPropertyTypeString(PD, Container);
- Properties.push_back(VMContext.getConstantStruct(ObjCTypes.PropertyTy,
+ Properties.push_back(llvm::ConstantStruct::get(ObjCTypes.PropertyTy,
Prop));
}
llvm::ArrayType *AT = VMContext.getArrayType(ObjCTypes.PropertyTy,
Properties.size());
Values[2] = VMContext.getConstantArray(AT, Properties);
- llvm::Constant *Init = VMContext.getConstantStruct(Values);
+ llvm::Constant *Init = llvm::ConstantStruct::get(Values);
llvm::GlobalVariable *GV =
CreateMetadataVar(Name, Init,
VMContext.getConstantExprBitCast(GetMethodVarName(MD->getSelector()),
ObjCTypes.SelectorPtrTy);
Desc[1] = GetMethodVarType(MD);
- return VMContext.getConstantStruct(ObjCTypes.MethodDescriptionTy,
+ return llvm::ConstantStruct::get(ObjCTypes.MethodDescriptionTy,
Desc);
}
llvm::ArrayType *AT = VMContext.getArrayType(ObjCTypes.MethodDescriptionTy,
Methods.size());
Values[1] = VMContext.getConstantArray(AT, Methods);
- llvm::Constant *Init = VMContext.getConstantStruct(Values);
+ llvm::Constant *Init = llvm::ConstantStruct::get(Values);
llvm::GlobalVariable *GV = CreateMetadataVar(Name, Init, Section, 4, true);
return VMContext.getConstantExprBitCast(GV,
Values[6] = VMContext.getNullValue(ObjCTypes.PropertyListPtrTy);
}
- llvm::Constant *Init = VMContext.getConstantStruct(ObjCTypes.CategoryTy,
+ llvm::Constant *Init = llvm::ConstantStruct::get(ObjCTypes.CategoryTy,
Values);
llvm::GlobalVariable *GV =
Values[ 9] = Protocols;
Values[10] = BuildIvarLayout(ID, true);
Values[11] = EmitClassExtension(ID);
- llvm::Constant *Init = VMContext.getConstantStruct(ObjCTypes.ClassTy,
+ llvm::Constant *Init = llvm::ConstantStruct::get(ObjCTypes.ClassTy,
Values);
llvm::GlobalVariable *GV =
Values[10] = VMContext.getNullValue(ObjCTypes.Int8PtrTy);
// The class extension is always unused for metaclasses.
Values[11] = VMContext.getNullValue(ObjCTypes.ClassExtensionPtrTy);
- llvm::Constant *Init = VMContext.getConstantStruct(ObjCTypes.ClassTy,
+ llvm::Constant *Init = llvm::ConstantStruct::get(ObjCTypes.ClassTy,
Values);
std::string Name("\01L_OBJC_METACLASS_");
return VMContext.getNullValue(ObjCTypes.ClassExtensionPtrTy);
llvm::Constant *Init =
- VMContext.getConstantStruct(ObjCTypes.ClassExtensionTy, Values);
+ llvm::ConstantStruct::get(ObjCTypes.ClassExtensionTy, Values);
return CreateMetadataVar("\01L_OBJC_CLASSEXT_" + ID->getNameAsString(),
Init, "__OBJC,__class_ext,regular,no_dead_strip",
4, true);
Ivar[1] = GetMethodVarType(IVD);
Ivar[2] = llvm::ConstantInt::get(ObjCTypes.IntTy,
ComputeIvarBaseOffset(CGM, OID, IVD));
- Ivars.push_back(VMContext.getConstantStruct(ObjCTypes.IvarTy, Ivar));
+ Ivars.push_back(llvm::ConstantStruct::get(ObjCTypes.IvarTy, Ivar));
}
// Return null for empty list.
llvm::ArrayType *AT = VMContext.getArrayType(ObjCTypes.IvarTy,
Ivars.size());
Values[1] = VMContext.getConstantArray(AT, Ivars);
- llvm::Constant *Init = VMContext.getConstantStruct(Values);
+ llvm::Constant *Init = llvm::ConstantStruct::get(Values);
llvm::GlobalVariable *GV;
if (ForClass)
ObjCTypes.SelectorPtrTy);
Method[1] = GetMethodVarType(MD);
Method[2] = VMContext.getConstantExprBitCast(Fn, ObjCTypes.Int8PtrTy);
- return VMContext.getConstantStruct(ObjCTypes.MethodTy, Method);
+ return llvm::ConstantStruct::get(ObjCTypes.MethodTy, Method);
}
llvm::Constant *CGObjCMac::EmitMethodList(const std::string &Name,
llvm::ArrayType *AT = VMContext.getArrayType(ObjCTypes.MethodTy,
Methods.size());
Values[2] = VMContext.getConstantArray(AT, Methods);
- llvm::Constant *Init = VMContext.getConstantStruct(Values);
+ llvm::Constant *Init = llvm::ConstantStruct::get(Values);
llvm::GlobalVariable *GV = CreateMetadataVar(Name, Init, Section, 4, true);
return VMContext.getConstantExprBitCast(GV,
Values[2] = GetClassName(&CGM.getContext().Idents.get(""));
Values[3] = EmitModuleSymbols();
CreateMetadataVar("\01L_OBJC_MODULES",
- VMContext.getConstantStruct(ObjCTypes.ModuleTy, Values),
+ llvm::ConstantStruct::get(ObjCTypes.ModuleTy, Values),
"__OBJC,__module_info,regular,no_dead_strip",
4, true);
}
NumClasses + NumCategories),
Symbols);
- llvm::Constant *Init = VMContext.getConstantStruct(Values);
+ llvm::Constant *Init = llvm::ConstantStruct::get(Values);
llvm::GlobalVariable *GV =
CreateMetadataVar("\01L_OBJC_SYMBOLS", Init,
Values[3] = Values[4] =
VMContext.getNullValue(ObjCTypes.MethodDescriptionListPtrTy);
I->second->setLinkage(llvm::GlobalValue::InternalLinkage);
- I->second->setInitializer(VMContext.getConstantStruct(ObjCTypes.ProtocolTy,
+ I->second->setInitializer(llvm::ConstantStruct::get(ObjCTypes.ProtocolTy,
Values));
CGM.AddUsedGlobal(I->second);
}
EmitPropertyList(
"\01l_OBJC_$_PROP_LIST_" + ID->getNameAsString(),
ID, ID->getClassInterface(), ObjCTypes);
- llvm::Constant *Init = VMContext.getConstantStruct(ObjCTypes.ClassRonfABITy,
+ llvm::Constant *Init = llvm::ConstantStruct::get(ObjCTypes.ClassRonfABITy,
Values);
llvm::GlobalVariable *CLASS_RO_GV =
new llvm::GlobalVariable(CGM.getModule(), ObjCTypes.ClassRonfABITy, false,
Values[2] = ObjCEmptyCacheVar; // &ObjCEmptyCacheVar
Values[3] = ObjCEmptyVtableVar; // &ObjCEmptyVtableVar
Values[4] = ClassRoGV; // &CLASS_RO_GV
- llvm::Constant *Init = VMContext.getConstantStruct(ObjCTypes.ClassnfABITy,
+ llvm::Constant *Init = llvm::ConstantStruct::get(ObjCTypes.ClassnfABITy,
Values);
llvm::GlobalVariable *GV = GetClassGlobal(ClassName);
GV->setInitializer(Init);
}
llvm::Constant *Init =
- VMContext.getConstantStruct(ObjCTypes.CategorynfABITy,
+ llvm::ConstantStruct::get(ObjCTypes.CategorynfABITy,
Values);
llvm::GlobalVariable *GCATV
= new llvm::GlobalVariable(CGM.getModule(), ObjCTypes.CategorynfABITy,
ObjCTypes.SelectorPtrTy);
Method[1] = GetMethodVarType(MD);
Method[2] = VMContext.getConstantExprBitCast(Fn, ObjCTypes.Int8PtrTy);
- return VMContext.getConstantStruct(ObjCTypes.MethodTy, Method);
+ return llvm::ConstantStruct::get(ObjCTypes.MethodTy, Method);
}
/// EmitMethodList - Build meta-data for method declarations
llvm::ArrayType *AT = VMContext.getArrayType(ObjCTypes.MethodTy,
Methods.size());
Values[2] = VMContext.getConstantArray(AT, Methods);
- llvm::Constant *Init = VMContext.getConstantStruct(Values);
+ llvm::Constant *Init = llvm::ConstantStruct::get(Values);
llvm::GlobalVariable *GV =
new llvm::GlobalVariable(CGM.getModule(), Init->getType(), false,
// not matter. If it matters, there is enough info to get the
// bitfield right!
Ivar[4] = llvm::ConstantInt::get(ObjCTypes.IntTy, Size);
- Ivars.push_back(VMContext.getConstantStruct(ObjCTypes.IvarnfABITy, Ivar));
+ Ivars.push_back(llvm::ConstantStruct::get(ObjCTypes.IvarnfABITy, Ivar));
}
// Return null for empty list.
if (Ivars.empty())
llvm::ArrayType *AT = VMContext.getArrayType(ObjCTypes.IvarnfABITy,
Ivars.size());
Values[2] = VMContext.getConstantArray(AT, Ivars);
- llvm::Constant *Init = VMContext.getConstantStruct(Values);
+ llvm::Constant *Init = llvm::ConstantStruct::get(Values);
const char *Prefix = "\01l_OBJC_$_INSTANCE_VARIABLES_";
llvm::GlobalVariable *GV =
new llvm::GlobalVariable(CGM.getModule(), Init->getType(), false,
CGM.getTargetData().getTypeAllocSize(ObjCTypes.ProtocolnfABITy);
Values[8] = llvm::ConstantInt::get(ObjCTypes.IntTy, Size);
Values[9] = VMContext.getNullValue(ObjCTypes.IntTy);
- llvm::Constant *Init = VMContext.getConstantStruct(ObjCTypes.ProtocolnfABITy,
+ llvm::Constant *Init = llvm::ConstantStruct::get(ObjCTypes.ProtocolnfABITy,
Values);
if (Entry) {
ProtocolRefs.size()),
ProtocolRefs);
- llvm::Constant *Init = VMContext.getConstantStruct(Values);
+ llvm::Constant *Init = llvm::ConstantStruct::get(Values);
GV = new llvm::GlobalVariable(CGM.getModule(), Init->getType(), false,
llvm::GlobalValue::InternalLinkage,
Init,
Desc[1] = GetMethodVarType(MD);
// Protocol methods have no implementation. So, this entry is always NULL.
Desc[2] = VMContext.getNullValue(ObjCTypes.Int8PtrTy);
- return VMContext.getConstantStruct(ObjCTypes.MethodTy, Desc);
+ return llvm::ConstantStruct::get(ObjCTypes.MethodTy, Desc);
}
/// EmitObjCValueForIvar - Code Gen for nonfragile ivar reference.
std::vector<llvm::Constant*> Values(2);
Values[0] = Fn;
Values[1] = GetMethodVarName(Sel);
- llvm::Constant *Init = VMContext.getConstantStruct(Values);
+ llvm::Constant *Init = llvm::ConstantStruct::get(Values);
GV = new llvm::GlobalVariable(CGM.getModule(), Init->getType(), false,
llvm::GlobalValue::WeakAnyLinkage,
Init,
Values[1] = GetClassName(ID->getIdentifier());
Values[2] = GetClassGlobal(ClassName);
llvm::Constant *Init =
- VMContext.getConstantStruct(ObjCTypes.EHTypeTy, Values);
+ llvm::ConstantStruct::get(ObjCTypes.EHTypeTy, Values);
if (Entry) {
Entry->setInitializer(Init);