aboutsummaryrefslogtreecommitdiff
path: root/lib/CodeGen/CGObjCMac.cpp
diff options
context:
space:
mode:
authorOwen Anderson <resistor@mac.com>2009-07-31 20:28:54 +0000
committerOwen Anderson <resistor@mac.com>2009-07-31 20:28:54 +0000
commitc9c88b4159791c48e486ca94e3743b5979e2b7a6 (patch)
tree4d85d56ca6aee06dbf8d7e691a73daa53f07e571 /lib/CodeGen/CGObjCMac.cpp
parent8c4dc1ffd20a8fe90a90c7f471cd9842b981078e (diff)
Update for LLVM API change.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@77722 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/CodeGen/CGObjCMac.cpp')
-rw-r--r--lib/CodeGen/CGObjCMac.cpp84
1 files changed, 42 insertions, 42 deletions
diff --git a/lib/CodeGen/CGObjCMac.cpp b/lib/CodeGen/CGObjCMac.cpp
index 45a4bcef20..bd7c536fba 100644
--- a/lib/CodeGen/CGObjCMac.cpp
+++ b/lib/CodeGen/CGObjCMac.cpp
@@ -1726,7 +1726,7 @@ CGObjCMac::EmitProtocolExtension(const ObjCProtocolDecl *PD,
// Return null if no extension bits are used.
if (Values[1]->isNullValue() && Values[2]->isNullValue() &&
Values[3]->isNullValue())
- return VMContext.getNullValue(ObjCTypes.ProtocolExtensionPtrTy);
+ return llvm::Constant::getNullValue(ObjCTypes.ProtocolExtensionPtrTy);
llvm::Constant *Init =
llvm::ConstantStruct::get(ObjCTypes.ProtocolExtensionTy, Values);
@@ -1755,14 +1755,14 @@ CGObjCMac::EmitProtocolList(const std::string &Name,
// Just return null for empty protocol lists
if (ProtocolRefs.empty())
- return VMContext.getNullValue(ObjCTypes.ProtocolListPtrTy);
+ return llvm::Constant::getNullValue(ObjCTypes.ProtocolListPtrTy);
// This list is null terminated.
- ProtocolRefs.push_back(VMContext.getNullValue(ObjCTypes.ProtocolPtrTy));
+ ProtocolRefs.push_back(llvm::Constant::getNullValue(ObjCTypes.ProtocolPtrTy));
std::vector<llvm::Constant*> Values(3);
// This field is only used by the runtime.
- Values[0] = VMContext.getNullValue(ObjCTypes.ProtocolListPtrTy);
+ Values[0] = llvm::Constant::getNullValue(ObjCTypes.ProtocolListPtrTy);
Values[1] = llvm::ConstantInt::get(ObjCTypes.LongTy,
ProtocolRefs.size() - 1);
Values[2] =
@@ -1805,7 +1805,7 @@ llvm::Constant *CGObjCCommonMac::EmitPropertyList(const std::string &Name,
// Return null for empty list.
if (Properties.empty())
- return VMContext.getNullValue(ObjCTypes.PropertyListPtrTy);
+ return llvm::Constant::getNullValue(ObjCTypes.PropertyListPtrTy);
unsigned PropertySize =
CGM.getTargetData().getTypeAllocSize(ObjCTypes.PropertyTy);
@@ -1848,7 +1848,7 @@ llvm::Constant *CGObjCMac::EmitMethodDescList(const std::string &Name,
const ConstantVector &Methods) {
// Return null for empty list.
if (Methods.empty())
- return VMContext.getNullValue(ObjCTypes.MethodDescriptionListPtrTy);
+ return llvm::Constant::getNullValue(ObjCTypes.MethodDescriptionListPtrTy);
std::vector<llvm::Constant*> Values(2);
Values[0] = llvm::ConstantInt::get(ObjCTypes.IntTy, Methods.size());
@@ -1917,7 +1917,7 @@ void CGObjCMac::GenerateCategory(const ObjCCategoryImplDecl *OCD) {
Category->protocol_begin(),
Category->protocol_end());
} else {
- Values[4] = VMContext.getNullValue(ObjCTypes.ProtocolListPtrTy);
+ Values[4] = llvm::Constant::getNullValue(ObjCTypes.ProtocolListPtrTy);
}
Values[5] = llvm::ConstantInt::get(ObjCTypes.IntTy, Size);
@@ -1926,7 +1926,7 @@ void CGObjCMac::GenerateCategory(const ObjCCategoryImplDecl *OCD) {
Values[6] = EmitPropertyList(std::string("\01l_OBJC_$_PROP_LIST_") + ExtName,
OCD, Category, ObjCTypes);
} else {
- Values[6] = VMContext.getNullValue(ObjCTypes.PropertyListPtrTy);
+ Values[6] = llvm::Constant::getNullValue(ObjCTypes.PropertyListPtrTy);
}
llvm::Constant *Init = llvm::ConstantStruct::get(ObjCTypes.CategoryTy,
@@ -2026,7 +2026,7 @@ void CGObjCMac::GenerateClass(const ObjCImplementationDecl *ID) {
llvm::ConstantExpr::getBitCast(GetClassName(Super->getIdentifier()),
ObjCTypes.ClassPtrTy);
} else {
- Values[ 1] = VMContext.getNullValue(ObjCTypes.ClassPtrTy);
+ Values[ 1] = llvm::Constant::getNullValue(ObjCTypes.ClassPtrTy);
}
Values[ 2] = GetClassName(ID->getIdentifier());
// Version is always 0.
@@ -2039,7 +2039,7 @@ void CGObjCMac::GenerateClass(const ObjCImplementationDecl *ID) {
"__OBJC,__inst_meth,regular,no_dead_strip",
InstanceMethods);
// cache is always NULL.
- Values[ 8] = VMContext.getNullValue(ObjCTypes.CachePtrTy);
+ Values[ 8] = llvm::Constant::getNullValue(ObjCTypes.CachePtrTy);
Values[ 9] = Protocols;
Values[10] = BuildIvarLayout(ID, true);
Values[11] = EmitClassExtension(ID);
@@ -2078,7 +2078,7 @@ llvm::Constant *CGObjCMac::EmitMetaClass(const ObjCImplementationDecl *ID,
llvm::ConstantExpr::getBitCast(GetClassName(Super->getIdentifier()),
ObjCTypes.ClassPtrTy);
} else {
- Values[ 1] = VMContext.getNullValue(ObjCTypes.ClassPtrTy);
+ Values[ 1] = llvm::Constant::getNullValue(ObjCTypes.ClassPtrTy);
}
Values[ 2] = GetClassName(ID->getIdentifier());
// Version is always 0.
@@ -2091,12 +2091,12 @@ llvm::Constant *CGObjCMac::EmitMetaClass(const ObjCImplementationDecl *ID,
"__OBJC,__cls_meth,regular,no_dead_strip",
Methods);
// cache is always NULL.
- Values[ 8] = VMContext.getNullValue(ObjCTypes.CachePtrTy);
+ Values[ 8] = llvm::Constant::getNullValue(ObjCTypes.CachePtrTy);
Values[ 9] = Protocols;
// ivar_layout for metaclass is always NULL.
- Values[10] = VMContext.getNullValue(ObjCTypes.Int8PtrTy);
+ Values[10] = llvm::Constant::getNullValue(ObjCTypes.Int8PtrTy);
// The class extension is always unused for metaclasses.
- Values[11] = VMContext.getNullValue(ObjCTypes.ClassExtensionPtrTy);
+ Values[11] = llvm::Constant::getNullValue(ObjCTypes.ClassExtensionPtrTy);
llvm::Constant *Init = llvm::ConstantStruct::get(ObjCTypes.ClassTy,
Values);
@@ -2167,7 +2167,7 @@ CGObjCMac::EmitClassExtension(const ObjCImplementationDecl *ID) {
// Return null if no extension bits are used.
if (Values[1]->isNullValue() && Values[2]->isNullValue())
- return VMContext.getNullValue(ObjCTypes.ClassExtensionPtrTy);
+ return llvm::Constant::getNullValue(ObjCTypes.ClassExtensionPtrTy);
llvm::Constant *Init =
llvm::ConstantStruct::get(ObjCTypes.ClassExtensionTy, Values);
@@ -2198,7 +2198,7 @@ llvm::Constant *CGObjCMac::EmitIvarList(const ObjCImplementationDecl *ID,
// the cleanest solution would be to make up an ObjCInterfaceDecl
// for the class.
if (ForClass)
- return VMContext.getNullValue(ObjCTypes.IvarListPtrTy);
+ return llvm::Constant::getNullValue(ObjCTypes.IvarListPtrTy);
ObjCInterfaceDecl *OID =
const_cast<ObjCInterfaceDecl*>(ID->getClassInterface());
@@ -2220,7 +2220,7 @@ llvm::Constant *CGObjCMac::EmitIvarList(const ObjCImplementationDecl *ID,
// Return null for empty list.
if (Ivars.empty())
- return VMContext.getNullValue(ObjCTypes.IvarListPtrTy);
+ return llvm::Constant::getNullValue(ObjCTypes.IvarListPtrTy);
std::vector<llvm::Constant*> Values(2);
Values[0] = llvm::ConstantInt::get(ObjCTypes.IntTy, Ivars.size());
@@ -2279,10 +2279,10 @@ llvm::Constant *CGObjCMac::EmitMethodList(const std::string &Name,
const ConstantVector &Methods) {
// Return null for empty list.
if (Methods.empty())
- return VMContext.getNullValue(ObjCTypes.MethodListPtrTy);
+ return llvm::Constant::getNullValue(ObjCTypes.MethodListPtrTy);
std::vector<llvm::Constant*> Values(3);
- Values[0] = VMContext.getNullValue(ObjCTypes.Int8PtrTy);
+ Values[0] = llvm::Constant::getNullValue(ObjCTypes.Int8PtrTy);
Values[1] = llvm::ConstantInt::get(ObjCTypes.IntTy, Methods.size());
llvm::ArrayType *AT = llvm::ArrayType::get(ObjCTypes.MethodTy,
Methods.size());
@@ -2894,11 +2894,11 @@ llvm::Constant *CGObjCMac::EmitModuleSymbols() {
// Return null if no symbols were defined.
if (!NumClasses && !NumCategories)
- return VMContext.getNullValue(ObjCTypes.SymtabPtrTy);
+ return llvm::Constant::getNullValue(ObjCTypes.SymtabPtrTy);
std::vector<llvm::Constant*> Values(5);
Values[0] = llvm::ConstantInt::get(ObjCTypes.LongTy, 0);
- Values[1] = VMContext.getNullValue(ObjCTypes.SelectorPtrTy);
+ Values[1] = llvm::Constant::getNullValue(ObjCTypes.SelectorPtrTy);
Values[2] = llvm::ConstantInt::get(ObjCTypes.ShortTy, NumClasses);
Values[3] = llvm::ConstantInt::get(ObjCTypes.ShortTy, NumCategories);
@@ -2978,7 +2978,7 @@ llvm::Constant *CGObjCCommonMac::GetClassName(IdentifierInfo *Ident) {
/// ivar layout bitmap.
llvm::Constant *CGObjCCommonMac::GetIvarLayoutName(IdentifierInfo *Ident,
const ObjCCommonTypesHelper &ObjCTypes) {
- return VMContext.getNullValue(ObjCTypes.Int8PtrTy);
+ return llvm::Constant::getNullValue(ObjCTypes.Int8PtrTy);
}
static QualType::GCAttrTypes GetGCAttrTypeForType(ASTContext &Ctx,
@@ -3187,7 +3187,7 @@ llvm::Constant *CGObjCCommonMac::BuildIvarLayout(
unsigned int WordsToScan, WordsToSkip;
const llvm::Type *PtrTy = llvm::PointerType::getUnqual(llvm::Type::Int8Ty);
if (CGM.getLangOptions().getGCMode() == LangOptions::NonGC)
- return VMContext.getNullValue(PtrTy);
+ return llvm::Constant::getNullValue(PtrTy);
llvm::SmallVector<FieldDecl*, 32> RecFields;
const ObjCInterfaceDecl *OI = OMD->getClassInterface();
@@ -3200,14 +3200,14 @@ llvm::Constant *CGObjCCommonMac::BuildIvarLayout(
RecFields.push_back(cast<FieldDecl>(Ivars[k]));
if (RecFields.empty())
- return VMContext.getNullValue(PtrTy);
+ return llvm::Constant::getNullValue(PtrTy);
SkipIvars.clear();
IvarsInfo.clear();
BuildAggrIvarLayout(OMD, 0, 0, RecFields, 0, ForStrongLayout, hasUnion);
if (IvarsInfo.empty())
- return VMContext.getNullValue(PtrTy);
+ return llvm::Constant::getNullValue(PtrTy);
// Sort on byte position in case we encounterred a union nested in
// the ivar list.
@@ -3348,7 +3348,7 @@ llvm::Constant *CGObjCCommonMac::BuildIvarLayout(
// if ivar_layout bitmap is all 1 bits (nothing skipped) then use NULL as
// final layout.
if (ForStrongLayout && !BytesSkipped)
- return VMContext.getNullValue(PtrTy);
+ return llvm::Constant::getNullValue(PtrTy);
llvm::GlobalVariable * Entry = CreateMetadataVar("\01L_OBJC_CLASS_NAME_",
llvm::ConstantArray::get(BitMap.c_str()),
"__TEXT,__cstring,cstring_literals",
@@ -3463,11 +3463,11 @@ void CGObjCMac::FinishModule() {
continue;
std::vector<llvm::Constant*> Values(5);
- Values[0] = VMContext.getNullValue(ObjCTypes.ProtocolExtensionPtrTy);
+ Values[0] = llvm::Constant::getNullValue(ObjCTypes.ProtocolExtensionPtrTy);
Values[1] = GetClassName(I->first);
- Values[2] = VMContext.getNullValue(ObjCTypes.ProtocolListPtrTy);
+ Values[2] = llvm::Constant::getNullValue(ObjCTypes.ProtocolListPtrTy);
Values[3] = Values[4] =
- VMContext.getNullValue(ObjCTypes.MethodDescriptionListPtrTy);
+ llvm::Constant::getNullValue(ObjCTypes.MethodDescriptionListPtrTy);
I->second->setLinkage(llvm::GlobalValue::InternalLinkage);
I->second->setInitializer(llvm::ConstantStruct::get(ObjCTypes.ProtocolTy,
Values));
@@ -4242,13 +4242,13 @@ llvm::GlobalVariable * CGObjCNonFragileABIMac::BuildClassRoTInitializer(
OID->protocol_end());
if (flags & CLS_META)
- Values[ 7] = VMContext.getNullValue(ObjCTypes.IvarListnfABIPtrTy);
+ Values[ 7] = llvm::Constant::getNullValue(ObjCTypes.IvarListnfABIPtrTy);
else
Values[ 7] = EmitIvarList(ID);
Values[ 8] = (flags & CLS_META) ? GetIvarLayoutName(0, ObjCTypes)
: BuildIvarLayout(ID, false);
if (flags & CLS_META)
- Values[ 9] = VMContext.getNullValue(ObjCTypes.PropertyListPtrTy);
+ Values[ 9] = llvm::Constant::getNullValue(ObjCTypes.PropertyListPtrTy);
else
Values[ 9] =
EmitPropertyList("\01l_OBJC_$_PROP_LIST_" + ID->getNameAsString(),
@@ -4289,7 +4289,7 @@ llvm::GlobalVariable * CGObjCNonFragileABIMac::BuildClassMetaData(
Values[0] = IsAGV;
Values[1] = SuperClassGV
? SuperClassGV
- : VMContext.getNullValue(ObjCTypes.ClassnfABIPtrTy);
+ : llvm::Constant::getNullValue(ObjCTypes.ClassnfABIPtrTy);
Values[2] = ObjCEmptyCacheVar; // &ObjCEmptyCacheVar
Values[3] = ObjCEmptyVtableVar; // &ObjCEmptyVtableVar
Values[4] = ClassRoGV; // &CLASS_RO_GV
@@ -4524,8 +4524,8 @@ void CGObjCNonFragileABIMac::GenerateCategory(const ObjCCategoryImplDecl *OCD) {
EmitPropertyList(std::string("\01l_OBJC_$_PROP_LIST_") + ExtName,
OCD, Category, ObjCTypes);
} else {
- Values[4] = VMContext.getNullValue(ObjCTypes.ProtocolListnfABIPtrTy);
- Values[5] = VMContext.getNullValue(ObjCTypes.PropertyListPtrTy);
+ Values[4] = llvm::Constant::getNullValue(ObjCTypes.ProtocolListnfABIPtrTy);
+ Values[5] = llvm::Constant::getNullValue(ObjCTypes.PropertyListPtrTy);
}
llvm::Constant *Init =
@@ -4580,7 +4580,7 @@ llvm::Constant *CGObjCNonFragileABIMac::EmitMethodList(
const ConstantVector &Methods) {
// Return null for empty list.
if (Methods.empty())
- return VMContext.getNullValue(ObjCTypes.MethodListnfABIPtrTy);
+ return llvm::Constant::getNullValue(ObjCTypes.MethodListnfABIPtrTy);
std::vector<llvm::Constant*> Values(3);
// sizeof(struct _objc_method)
@@ -4709,7 +4709,7 @@ llvm::Constant *CGObjCNonFragileABIMac::EmitIvarList(
}
// Return null for empty list.
if (Ivars.empty())
- return VMContext.getNullValue(ObjCTypes.IvarListnfABIPtrTy);
+ return llvm::Constant::getNullValue(ObjCTypes.IvarListnfABIPtrTy);
std::vector<llvm::Constant*> Values(3);
unsigned Size = CGM.getTargetData().getTypeAllocSize(ObjCTypes.IvarnfABITy);
Values[0] = llvm::ConstantInt::get(ObjCTypes.IntTy, Size);
@@ -4805,7 +4805,7 @@ llvm::Constant *CGObjCNonFragileABIMac::GetOrEmitProtocol(
std::vector<llvm::Constant*> Values(10);
// isa is NULL
- Values[0] = VMContext.getNullValue(ObjCTypes.ObjectPtrTy);
+ Values[0] = llvm::Constant::getNullValue(ObjCTypes.ObjectPtrTy);
Values[1] = GetClassName(PD->getIdentifier());
Values[2] = EmitProtocolList(
"\01l_OBJC_$_PROTOCOL_REFS_" + PD->getNameAsString(),
@@ -4833,7 +4833,7 @@ llvm::Constant *CGObjCNonFragileABIMac::GetOrEmitProtocol(
uint32_t Size =
CGM.getTargetData().getTypeAllocSize(ObjCTypes.ProtocolnfABITy);
Values[8] = llvm::ConstantInt::get(ObjCTypes.IntTy, Size);
- Values[9] = VMContext.getNullValue(ObjCTypes.IntTy);
+ Values[9] = llvm::Constant::getNullValue(ObjCTypes.IntTy);
llvm::Constant *Init = llvm::ConstantStruct::get(ObjCTypes.ProtocolnfABITy,
Values);
@@ -4887,7 +4887,7 @@ CGObjCNonFragileABIMac::EmitProtocolList(const std::string &Name,
// Just return null for empty protocol lists
if (begin == end)
- return VMContext.getNullValue(ObjCTypes.ProtocolListnfABIPtrTy);
+ return llvm::Constant::getNullValue(ObjCTypes.ProtocolListnfABIPtrTy);
// FIXME: We shouldn't need to do this lookup here, should we?
llvm::GlobalVariable *GV = CGM.getModule().getGlobalVariable(Name, true);
@@ -4899,7 +4899,7 @@ CGObjCNonFragileABIMac::EmitProtocolList(const std::string &Name,
ProtocolRefs.push_back(GetProtocolRef(*begin)); // Implemented???
// This list is null terminated.
- ProtocolRefs.push_back(VMContext.getNullValue(
+ ProtocolRefs.push_back(llvm::Constant::getNullValue(
ObjCTypes.ProtocolnfABIPtrTy));
std::vector<llvm::Constant*> Values(2);
@@ -4939,7 +4939,7 @@ CGObjCNonFragileABIMac::GetMethodDescriptionConstant(const ObjCMethodDecl *MD) {
ObjCTypes.SelectorPtrTy);
Desc[1] = GetMethodVarType(MD);
// Protocol methods have no implementation. So, this entry is always NULL.
- Desc[2] = VMContext.getNullValue(ObjCTypes.Int8PtrTy);
+ Desc[2] = llvm::Constant::getNullValue(ObjCTypes.Int8PtrTy);
return llvm::ConstantStruct::get(ObjCTypes.MethodTy, Desc);
}
@@ -5430,7 +5430,7 @@ CGObjCNonFragileABIMac::EmitTryOrSynchronizedStmt(CodeGen::CodeGenFunction &CGF,
// catch(...) always matches.
if (!CatchDecl) {
// Use i8* null here to signal this is a catch all, not a cleanup.
- llvm::Value *Null = VMContext.getNullValue(ObjCTypes.Int8PtrTy);
+ llvm::Value *Null = llvm::Constant::getNullValue(ObjCTypes.Int8PtrTy);
SelectorArgs.push_back(Null);
HasCatchAll = true;
break;