Update for LLVM API change.

llvm-svn: 77492
This commit is contained in:
Owen Anderson 2009-07-29 18:54:39 +00:00
parent 7be1ad814b
commit ade90fd1ba
7 changed files with 93 additions and 93 deletions

View File

@ -140,7 +140,7 @@ llvm::Value *CodeGenFunction::BuildBlockLiteralTmp(const BlockExpr *BE) {
// __isa
C = CGM.getNSConcreteStackBlock();
C = VMContext.getConstantExprBitCast(C, PtrToInt8Ty);
C = llvm::ConstantExpr::getBitCast(C, PtrToInt8Ty);
Elts[0] = C;
// __flags
@ -169,7 +169,7 @@ llvm::Value *CodeGenFunction::BuildBlockLiteralTmp(const BlockExpr *BE) {
llvm::GlobalValue::InternalLinkage,
C, Name);
QualType BPT = BE->getType();
C = VMContext.getConstantExprBitCast(C, ConvertType(BPT));
C = llvm::ConstantExpr::getBitCast(C, ConvertType(BPT));
return C;
}
@ -784,7 +784,7 @@ GenerateCopyHelperFunction(bool BlockHasCopyDispose, const llvm::StructType *T,
CGF.FinishFunction();
return VMContext.getConstantExprBitCast(Fn, PtrToInt8Ty);
return llvm::ConstantExpr::getBitCast(Fn, PtrToInt8Ty);
}
llvm::Constant *BlockFunction::
@ -853,7 +853,7 @@ GenerateDestroyHelperFunction(bool BlockHasCopyDispose,
CGF.FinishFunction();
return VMContext.getConstantExprBitCast(Fn, PtrToInt8Ty);
return llvm::ConstantExpr::getBitCast(Fn, PtrToInt8Ty);
}
llvm::Constant *BlockFunction::BuildCopyHelper(const llvm::StructType *T,
@ -932,7 +932,7 @@ GeneratebyrefCopyHelperFunction(const llvm::Type *T, int flag) {
CGF.FinishFunction();
return VMContext.getConstantExprBitCast(Fn, PtrToInt8Ty);
return llvm::ConstantExpr::getBitCast(Fn, PtrToInt8Ty);
}
llvm::Constant *
@ -983,7 +983,7 @@ BlockFunction::GeneratebyrefDestroyHelperFunction(const llvm::Type *T,
BuildBlockRelease(V, flag);
CGF.FinishFunction();
return VMContext.getConstantExprBitCast(Fn, PtrToInt8Ty);
return llvm::ConstantExpr::getBitCast(Fn, PtrToInt8Ty);
}
llvm::Constant *BlockFunction::BuildbyrefCopyHelper(const llvm::Type *T,

View File

@ -161,7 +161,7 @@ void CodeGenFunction::EmitStaticBlockVarDecl(const VarDecl &D) {
// Replace all uses of the old global with the new global
llvm::Constant *NewPtrForOldDecl =
VMContext.getConstantExprBitCast(GV, OldGV->getType());
llvm::ConstantExpr::getBitCast(GV, OldGV->getType());
OldGV->replaceAllUsesWith(NewPtrForOldDecl);
// Erase the old global, since it is no longer used.
@ -195,7 +195,7 @@ void CodeGenFunction::EmitStaticBlockVarDecl(const VarDecl &D) {
const llvm::Type *LTy = CGM.getTypes().ConvertTypeForMem(D.getType());
const llvm::Type *LPtrTy =
VMContext.getPointerType(LTy, D.getType().getAddressSpace());
DMEntry = VMContext.getConstantExprBitCast(GV, LPtrTy);
DMEntry = llvm::ConstantExpr::getBitCast(GV, LPtrTy);
// Emit global variable debug descriptor for static vars.
CGDebugInfo *DI = getDebugInfo();

View File

@ -492,7 +492,7 @@ public:
do {
llvm::Constant* byteC =
llvm::ConstantInt::get(llvm::Type::Int8Ty, byte);
Elts[i] = VMContext.getConstantExprOr(Elts[i], byteC);
Elts[i] = llvm::ConstantExpr::getOr(Elts[i], byteC);
++i;
V = V.lshr(curBits);
bitsToInsert -= curBits;
@ -755,7 +755,7 @@ public:
case Expr::ObjCStringLiteralClass: {
ObjCStringLiteral* SL = cast<ObjCStringLiteral>(E);
llvm::Constant *C = CGM.getObjCRuntime().GenerateConstantString(SL);
return VMContext.getConstantExprBitCast(C, ConvertType(E->getType()));
return llvm::ConstantExpr::getBitCast(C, ConvertType(E->getType()));
}
case Expr::PredefinedExprClass: {
// __func__/__FUNCTION__ -> "". __PRETTY_FUNCTION__ -> "top level".
@ -770,7 +770,7 @@ public:
assert(CGF && "Invalid address of label expression outside function.");
unsigned id = CGF->GetIDForAddrOfLabel(cast<AddrLabelExpr>(E)->getLabel());
llvm::Constant *C = llvm::ConstantInt::get(llvm::Type::Int32Ty, id);
return VMContext.getConstantExprIntToPtr(C, ConvertType(E->getType()));
return llvm::ConstantExpr::getIntToPtr(C, ConvertType(E->getType()));
}
case Expr::CallExprClass: {
CallExpr* CE = cast<CallExpr>(E);
@ -832,28 +832,28 @@ llvm::Constant *CodeGenModule::EmitConstantExpr(const Expr *E,
if (!Offset->isNullValue()) {
const llvm::Type *Type =
VMContext.getPointerTypeUnqual(llvm::Type::Int8Ty);
llvm::Constant *Casted = VMContext.getConstantExprBitCast(C, Type);
Casted = VMContext.getConstantExprGetElementPtr(Casted, &Offset, 1);
C = VMContext.getConstantExprBitCast(Casted, C->getType());
llvm::Constant *Casted = llvm::ConstantExpr::getBitCast(C, Type);
Casted = llvm::ConstantExpr::getGetElementPtr(Casted, &Offset, 1);
C = llvm::ConstantExpr::getBitCast(Casted, C->getType());
}
// Convert to the appropriate type; this could be an lvalue for
// an integer.
if (isa<llvm::PointerType>(DestTy))
return VMContext.getConstantExprBitCast(C, DestTy);
return llvm::ConstantExpr::getBitCast(C, DestTy);
return VMContext.getConstantExprPtrToInt(C, DestTy);
return llvm::ConstantExpr::getPtrToInt(C, DestTy);
} else {
C = Offset;
// Convert to the appropriate type; this could be an lvalue for
// an integer.
if (isa<llvm::PointerType>(DestTy))
return VMContext.getConstantExprIntToPtr(C, DestTy);
return llvm::ConstantExpr::getIntToPtr(C, DestTy);
// If the types don't match this should only be a truncate.
if (C->getType() != DestTy)
return VMContext.getConstantExprTrunc(C, DestTy);
return llvm::ConstantExpr::getTrunc(C, DestTy);
return C;
}
@ -864,7 +864,7 @@ llvm::Constant *CodeGenModule::EmitConstantExpr(const Expr *E,
if (C->getType() == llvm::Type::Int1Ty) {
const llvm::Type *BoolTy = getTypes().ConvertTypeForMem(E->getType());
C = VMContext.getConstantExprZExt(C, BoolTy);
C = llvm::ConstantExpr::getZExt(C, BoolTy);
}
return C;
}
@ -909,7 +909,7 @@ llvm::Constant *CodeGenModule::EmitConstantExpr(const Expr *E,
llvm::Constant* C = ConstExprEmitter(*this, CGF).Visit(const_cast<Expr*>(E));
if (C && C->getType() == llvm::Type::Int1Ty) {
const llvm::Type *BoolTy = getTypes().ConvertTypeForMem(E->getType());
C = VMContext.getConstantExprZExt(C, BoolTy);
C = llvm::ConstantExpr::getZExt(C, BoolTy);
}
return C;
}

View File

@ -28,7 +28,7 @@ llvm::Value *CodeGenFunction::EmitObjCStringLiteral(const ObjCStringLiteral *E)
{
llvm::Constant *C = CGM.getObjCRuntime().GenerateConstantString(E);
// FIXME: This bitcast should just be made an invariant on the Runtime.
return VMContext.getConstantExprBitCast(C, ConvertType(E->getType()));
return llvm::ConstantExpr::getBitCast(C, ConvertType(E->getType()));
}
/// Emit a selector.

View File

@ -294,7 +294,7 @@ llvm::Constant *CGObjCGNU::MakeConstantString(const std::string &Str,
ConstStr = new llvm::GlobalVariable(TheModule, ConstStr->getType(), true,
llvm::GlobalValue::InternalLinkage,
ConstStr, Name);
return VMContext.getConstantExprGetElementPtr(ConstStr, Zeros, 2);
return llvm::ConstantExpr::getGetElementPtr(ConstStr, Zeros, 2);
}
llvm::Constant *CGObjCGNU::MakeGlobal(const llvm::StructType *Ty,
std::vector<llvm::Constant*> &V, const std::string &Name) {
@ -324,7 +324,7 @@ llvm::Constant *CGObjCGNU::GenerateConstantString(const ObjCStringLiteral *SL) {
VMContext.getStructType(PtrToInt8Ty, PtrToInt8Ty, IntTy, NULL),
Ivars, ".objc_str");
ConstantStrings.push_back(
VMContext.getConstantExprBitCast(ObjCStr, PtrToInt8Ty));
llvm::ConstantExpr::getBitCast(ObjCStr, PtrToInt8Ty));
return ObjCStr;
}
@ -508,10 +508,10 @@ llvm::Constant *CGObjCGNU::GenerateMethodList(const std::string &ClassName,
isClassMethodList))) {
llvm::Constant *C =
CGM.GetAddrOfConstantCString(MethodSels[i].getAsString());
Elements.push_back(VMContext.getConstantExprGetElementPtr(C, Zeros, 2));
Elements.push_back(llvm::ConstantExpr::getGetElementPtr(C, Zeros, 2));
Elements.push_back(
VMContext.getConstantExprGetElementPtr(MethodTypes[i], Zeros, 2));
Method = VMContext.getConstantExprBitCast(Method,
llvm::ConstantExpr::getGetElementPtr(MethodTypes[i], Zeros, 2));
Method = llvm::ConstantExpr::getBitCast(Method,
VMContext.getPointerTypeUnqual(IMPTy));
Elements.push_back(Method);
Methods.push_back(llvm::ConstantStruct::get(ObjCMethodTy, Elements));
@ -563,9 +563,9 @@ llvm::Constant *CGObjCGNU::GenerateIvarList(
std::vector<llvm::Constant*> Elements;
for (unsigned int i = 0, e = IvarNames.size() ; i < e ; i++) {
Elements.clear();
Elements.push_back( VMContext.getConstantExprGetElementPtr(IvarNames[i],
Elements.push_back( llvm::ConstantExpr::getGetElementPtr(IvarNames[i],
Zeros, 2));
Elements.push_back( VMContext.getConstantExprGetElementPtr(IvarTypes[i],
Elements.push_back( llvm::ConstantExpr::getGetElementPtr(IvarTypes[i],
Zeros, 2));
Elements.push_back(IvarOffsets[i]);
Ivars.push_back(llvm::ConstantStruct::get(ObjCIvarTy, Elements));
@ -623,7 +623,7 @@ llvm::Constant *CGObjCGNU::GenerateClassStructure(
VMContext.getConstantPointerNull(PtrTy);
// Fill in the structure
std::vector<llvm::Constant*> Elements;
Elements.push_back(VMContext.getConstantExprBitCast(MetaClass, PtrToInt8Ty));
Elements.push_back(llvm::ConstantExpr::getBitCast(MetaClass, PtrToInt8Ty));
Elements.push_back(SuperClass);
Elements.push_back(MakeConstantString(Name, ".class_name"));
Elements.push_back(Zero);
@ -634,7 +634,7 @@ llvm::Constant *CGObjCGNU::GenerateClassStructure(
Elements.push_back(NullP);
Elements.push_back(NullP);
Elements.push_back(NullP);
Elements.push_back(VMContext.getConstantExprBitCast(Protocols, PtrTy));
Elements.push_back(llvm::ConstantExpr::getBitCast(Protocols, PtrTy));
Elements.push_back(NullP);
// Create an instance of the structure
return MakeGlobal(ClassTy, Elements, SymbolNameForClass(Name));
@ -652,10 +652,10 @@ llvm::Constant *CGObjCGNU::GenerateProtocolMethodList(
std::vector<llvm::Constant*> Elements;
for (unsigned int i = 0, e = MethodTypes.size() ; i < e ; i++) {
Elements.clear();
Elements.push_back(VMContext.getConstantExprGetElementPtr(MethodNames[i],
Elements.push_back(llvm::ConstantExpr::getGetElementPtr(MethodNames[i],
Zeros, 2));
Elements.push_back(
VMContext.getConstantExprGetElementPtr(MethodTypes[i], Zeros, 2));
llvm::ConstantExpr::getGetElementPtr(MethodTypes[i], Zeros, 2));
Methods.push_back(llvm::ConstantStruct::get(ObjCMethodDescTy, Elements));
}
llvm::ArrayType *ObjCMethodArrayTy = VMContext.getArrayType(ObjCMethodDescTy,
@ -685,7 +685,7 @@ llvm::Constant *CGObjCGNU::GenerateProtocolList(
llvm::Constant *protocol = ExistingProtocols[*iter];
if (!protocol)
protocol = GenerateEmptyProtocol(*iter);
llvm::Constant *Ptr = VMContext.getConstantExprBitCast(protocol,
llvm::Constant *Ptr = llvm::ConstantExpr::getBitCast(protocol,
PtrToInt8Ty);
Elements.push_back(Ptr);
}
@ -727,7 +727,7 @@ llvm::Constant *CGObjCGNU::GenerateEmptyProtocol(
std::vector<llvm::Constant*> Elements;
// The isa pointer must be set to a magic number so the runtime knows it's
// the correct layout.
Elements.push_back(VMContext.getConstantExprIntToPtr(
Elements.push_back(llvm::ConstantExpr::getIntToPtr(
llvm::ConstantInt::get(llvm::Type::Int32Ty, ProtocolVersion), IdTy));
Elements.push_back(MakeConstantString(ProtocolName, ".objc_protocol_name"));
Elements.push_back(ProtocolList);
@ -782,14 +782,14 @@ void CGObjCGNU::GenerateProtocol(const ObjCProtocolDecl *PD) {
std::vector<llvm::Constant*> Elements;
// The isa pointer must be set to a magic number so the runtime knows it's
// the correct layout.
Elements.push_back(VMContext.getConstantExprIntToPtr(
Elements.push_back(llvm::ConstantExpr::getIntToPtr(
llvm::ConstantInt::get(llvm::Type::Int32Ty, ProtocolVersion), IdTy));
Elements.push_back(MakeConstantString(ProtocolName, ".objc_protocol_name"));
Elements.push_back(ProtocolList);
Elements.push_back(InstanceMethodList);
Elements.push_back(ClassMethodList);
ExistingProtocols[ProtocolName] =
VMContext.getConstantExprBitCast(MakeGlobal(ProtocolTy, Elements,
llvm::ConstantExpr::getBitCast(MakeGlobal(ProtocolTy, Elements,
".objc_protocol"), IdTy);
}
@ -832,17 +832,17 @@ void CGObjCGNU::GenerateCategory(const ObjCCategoryImplDecl *OCD) {
Elements.push_back(MakeConstantString(CategoryName));
Elements.push_back(MakeConstantString(ClassName));
// Instance method list
Elements.push_back(VMContext.getConstantExprBitCast(GenerateMethodList(
Elements.push_back(llvm::ConstantExpr::getBitCast(GenerateMethodList(
ClassName, CategoryName, InstanceMethodSels, InstanceMethodTypes,
false), PtrTy));
// Class method list
Elements.push_back(VMContext.getConstantExprBitCast(GenerateMethodList(
Elements.push_back(llvm::ConstantExpr::getBitCast(GenerateMethodList(
ClassName, CategoryName, ClassMethodSels, ClassMethodTypes, true),
PtrTy));
// Protocol list
Elements.push_back(VMContext.getConstantExprBitCast(
Elements.push_back(llvm::ConstantExpr::getBitCast(
GenerateProtocolList(Protocols), PtrTy));
Categories.push_back(VMContext.getConstantExprBitCast(
Categories.push_back(llvm::ConstantExpr::getBitCast(
MakeGlobal(VMContext.getStructType(PtrToInt8Ty, PtrToInt8Ty, PtrTy,
PtrTy, PtrTy, NULL), Elements), PtrTy));
}
@ -992,17 +992,17 @@ void CGObjCGNU::GenerateClass(const ObjCImplementationDecl *OID) {
// Resolve the class aliases, if they exist.
if (ClassPtrAlias) {
ClassPtrAlias->setAliasee(
VMContext.getConstantExprBitCast(ClassStruct, IdTy));
llvm::ConstantExpr::getBitCast(ClassStruct, IdTy));
ClassPtrAlias = 0;
}
if (MetaClassPtrAlias) {
MetaClassPtrAlias->setAliasee(
VMContext.getConstantExprBitCast(MetaClassStruct, IdTy));
llvm::ConstantExpr::getBitCast(MetaClassStruct, IdTy));
MetaClassPtrAlias = 0;
}
// Add class structure to list to be added to the symtab later
ClassStruct = VMContext.getConstantExprBitCast(ClassStruct, PtrToInt8Ty);
ClassStruct = llvm::ConstantExpr::getBitCast(ClassStruct, PtrToInt8Ty);
Classes.push_back(ClassStruct);
}
@ -1051,7 +1051,7 @@ llvm::Function *CGObjCGNU::ModuleInitFunction() {
Elements.push_back(Statics);
Elements.push_back(VMContext.getNullValue(StaticsListPtrTy));
Statics = MakeGlobal(StaticsListArrayTy, Elements, ".objc_statics_ptr");
Statics = VMContext.getConstantExprBitCast(Statics, PtrTy);
Statics = llvm::ConstantExpr::getBitCast(Statics, PtrTy);
}
// Array of classes, categories, and constant objects
llvm::ArrayType *ClassListTy = VMContext.getArrayType(PtrToInt8Ty,
@ -1091,7 +1091,7 @@ llvm::Function *CGObjCGNU::ModuleInitFunction() {
llvm::Constant *SelectorList = MakeGlobal(
VMContext.getArrayType(SelStructTy, Selectors.size()), Selectors,
".objc_selector_list");
Elements.push_back(VMContext.getConstantExprBitCast(SelectorList,
Elements.push_back(llvm::ConstantExpr::getBitCast(SelectorList,
SelStructPtrTy));
// Now that all of the static selectors exist, create pointers to them.
@ -1103,12 +1103,12 @@ llvm::Function *CGObjCGNU::ModuleInitFunction() {
llvm::ConstantInt::get(llvm::Type::Int32Ty, index++), Zeros[0]};
llvm::Constant *SelPtr = new llvm::GlobalVariable(TheModule, SelStructPtrTy,
true, llvm::GlobalValue::InternalLinkage,
VMContext.getConstantExprGetElementPtr(SelectorList, Idxs, 2),
llvm::ConstantExpr::getGetElementPtr(SelectorList, Idxs, 2),
".objc_sel_ptr");
// If selectors are defined as an opaque type, cast the pointer to this
// type.
if (isSelOpaque) {
SelPtr = VMContext.getConstantExprBitCast(SelPtr,
SelPtr = llvm::ConstantExpr::getBitCast(SelPtr,
VMContext.getPointerTypeUnqual(SelectorTy));
}
(*iter).second->setAliasee(SelPtr);
@ -1120,12 +1120,12 @@ llvm::Function *CGObjCGNU::ModuleInitFunction() {
llvm::ConstantInt::get(llvm::Type::Int32Ty, index++), Zeros[0]};
llvm::Constant *SelPtr = new llvm::GlobalVariable(TheModule, SelStructPtrTy,
true, llvm::GlobalValue::InternalLinkage,
VMContext.getConstantExprGetElementPtr(SelectorList, Idxs, 2),
llvm::ConstantExpr::getGetElementPtr(SelectorList, Idxs, 2),
".objc_sel_ptr");
// If selectors are defined as an opaque type, cast the pointer to this
// type.
if (isSelOpaque) {
SelPtr = VMContext.getConstantExprBitCast(SelPtr,
SelPtr = llvm::ConstantExpr::getBitCast(SelPtr,
VMContext.getPointerTypeUnqual(SelectorTy));
}
(*iter).second->setAliasee(SelPtr);
@ -1261,7 +1261,7 @@ void CGObjCGNU::EmitTryOrSynchronizedStmt(CodeGen::CodeGenFunction &CGF,
CGM.CreateRuntimeFunction(VMContext.getFunctionType(llvm::Type::Int32Ty,
true),
"__gnu_objc_personality_v0");
Personality = VMContext.getConstantExprBitCast(Personality, PtrTy);
Personality = llvm::ConstantExpr::getBitCast(Personality, PtrTy);
std::vector<const llvm::Type*> Params;
Params.push_back(PtrTy);
llvm::Value *RethrowFn =

View File

@ -718,7 +718,7 @@ public:
CGM.CreateRuntimeFunction(VMContext.getFunctionType(llvm::Type::Int32Ty,
true),
"__objc_personality_v0");
return VMContext.getConstantExprBitCast(Personality, Int8PtrTy);
return llvm::ConstantExpr::getBitCast(Personality, Int8PtrTy);
}
llvm::Constant *getUnwindResumeOrRethrowFn() {
@ -1381,7 +1381,7 @@ static llvm::Constant *getConstantGEP(llvm::LLVMContext &VMContext,
llvm::ConstantInt::get(llvm::Type::Int32Ty, idx0),
llvm::ConstantInt::get(llvm::Type::Int32Ty, idx1)
};
return VMContext.getConstantExprGetElementPtr(C, Idxs, 2);
return llvm::ConstantExpr::getGetElementPtr(C, Idxs, 2);
}
/// hasObjCExceptionAttribute - Return true if this class or any super
@ -1552,7 +1552,7 @@ CodeGen::RValue CGObjCCommonMac::EmitLegacyMessageSend(
: ObjCTypes.getSendFn(IsSuper);
}
assert(Fn && "EmitLegacyMessageSend - unknown API");
Fn = VMContext.getConstantExprBitCast(Fn,
Fn = llvm::ConstantExpr::getBitCast(Fn,
VMContext.getPointerTypeUnqual(FTy));
return CGF.EmitCall(FnInfo, Fn, ActualArgs);
}
@ -1563,7 +1563,7 @@ llvm::Value *CGObjCMac::GenerateProtocolRef(CGBuilderTy &Builder,
// resolved. Investigate. Its also wasteful to look this up over and over.
LazySymbols.insert(&CGM.getContext().Idents.get("Protocol"));
return VMContext.getConstantExprBitCast(GetProtocolRef(PD),
return llvm::ConstantExpr::getBitCast(GetProtocolRef(PD),
ObjCTypes.ExternalProtocolPtrTy);
}
@ -1777,7 +1777,7 @@ CGObjCMac::EmitProtocolList(const std::string &Name,
llvm::GlobalVariable *GV =
CreateMetadataVar(Name, Init, "__OBJC,__cat_cls_meth,regular,no_dead_strip",
4, false);
return VMContext.getConstantExprBitCast(GV, ObjCTypes.ProtocolListPtrTy);
return llvm::ConstantExpr::getBitCast(GV, ObjCTypes.ProtocolListPtrTy);
}
/*
@ -1826,7 +1826,7 @@ llvm::Constant *CGObjCCommonMac::EmitPropertyList(const std::string &Name,
"__OBJC,__property,regular,no_dead_strip",
(ObjCABI == 2) ? 8 : 4,
true);
return VMContext.getConstantExprBitCast(GV, ObjCTypes.PropertyListPtrTy);
return llvm::ConstantExpr::getBitCast(GV, ObjCTypes.PropertyListPtrTy);
}
/*
@ -1839,7 +1839,7 @@ llvm::Constant *
CGObjCMac::GetMethodDescriptionConstant(const ObjCMethodDecl *MD) {
std::vector<llvm::Constant*> Desc(2);
Desc[0] =
VMContext.getConstantExprBitCast(GetMethodVarName(MD->getSelector()),
llvm::ConstantExpr::getBitCast(GetMethodVarName(MD->getSelector()),
ObjCTypes.SelectorPtrTy);
Desc[1] = GetMethodVarType(MD);
return llvm::ConstantStruct::get(ObjCTypes.MethodDescriptionTy,
@ -1861,7 +1861,7 @@ llvm::Constant *CGObjCMac::EmitMethodDescList(const std::string &Name,
llvm::Constant *Init = llvm::ConstantStruct::get(Values);
llvm::GlobalVariable *GV = CreateMetadataVar(Name, Init, Section, 4, true);
return VMContext.getConstantExprBitCast(GV,
return llvm::ConstantExpr::getBitCast(GV,
ObjCTypes.MethodDescriptionListPtrTy);
}
@ -2026,7 +2026,7 @@ void CGObjCMac::GenerateClass(const ObjCImplementationDecl *ID) {
LazySymbols.insert(Super->getIdentifier());
Values[ 1] =
VMContext.getConstantExprBitCast(GetClassName(Super->getIdentifier()),
llvm::ConstantExpr::getBitCast(GetClassName(Super->getIdentifier()),
ObjCTypes.ClassPtrTy);
} else {
Values[ 1] = VMContext.getNullValue(ObjCTypes.ClassPtrTy);
@ -2071,14 +2071,14 @@ llvm::Constant *CGObjCMac::EmitMetaClass(const ObjCImplementationDecl *ID,
while (const ObjCInterfaceDecl *Super = Root->getSuperClass())
Root = Super;
Values[ 0] =
VMContext.getConstantExprBitCast(GetClassName(Root->getIdentifier()),
llvm::ConstantExpr::getBitCast(GetClassName(Root->getIdentifier()),
ObjCTypes.ClassPtrTy);
// The super class for the metaclass is emitted as the name of the
// super class. The runtime fixes this up to point to the
// *metaclass* for the super class.
if (ObjCInterfaceDecl *Super = ID->getClassInterface()->getSuperClass()) {
Values[ 1] =
VMContext.getConstantExprBitCast(GetClassName(Super->getIdentifier()),
llvm::ConstantExpr::getBitCast(GetClassName(Super->getIdentifier()),
ObjCTypes.ClassPtrTy);
} else {
Values[ 1] = VMContext.getNullValue(ObjCTypes.ClassPtrTy);
@ -2242,7 +2242,7 @@ llvm::Constant *CGObjCMac::EmitIvarList(const ObjCImplementationDecl *ID,
+ ID->getNameAsString(),
Init, "__OBJC,__instance_vars,regular,no_dead_strip",
4, true);
return VMContext.getConstantExprBitCast(GV, ObjCTypes.IvarListPtrTy);
return llvm::ConstantExpr::getBitCast(GV, ObjCTypes.IvarListPtrTy);
}
/*
@ -2270,10 +2270,10 @@ llvm::Constant *CGObjCMac::GetMethodConstant(const ObjCMethodDecl *MD) {
std::vector<llvm::Constant*> Method(3);
Method[0] =
VMContext.getConstantExprBitCast(GetMethodVarName(MD->getSelector()),
llvm::ConstantExpr::getBitCast(GetMethodVarName(MD->getSelector()),
ObjCTypes.SelectorPtrTy);
Method[1] = GetMethodVarType(MD);
Method[2] = VMContext.getConstantExprBitCast(Fn, ObjCTypes.Int8PtrTy);
Method[2] = llvm::ConstantExpr::getBitCast(Fn, ObjCTypes.Int8PtrTy);
return llvm::ConstantStruct::get(ObjCTypes.MethodTy, Method);
}
@ -2293,7 +2293,7 @@ llvm::Constant *CGObjCMac::EmitMethodList(const std::string &Name,
llvm::Constant *Init = llvm::ConstantStruct::get(Values);
llvm::GlobalVariable *GV = CreateMetadataVar(Name, Init, Section, 4, true);
return VMContext.getConstantExprBitCast(GV,
return llvm::ConstantExpr::getBitCast(GV,
ObjCTypes.MethodListPtrTy);
}
@ -2911,11 +2911,11 @@ llvm::Constant *CGObjCMac::EmitModuleSymbols() {
// by the list of defined categories, in a single array.
std::vector<llvm::Constant*> Symbols(NumClasses + NumCategories);
for (unsigned i=0; i<NumClasses; i++)
Symbols[i] = VMContext.getConstantExprBitCast(DefinedClasses[i],
Symbols[i] = llvm::ConstantExpr::getBitCast(DefinedClasses[i],
ObjCTypes.Int8PtrTy);
for (unsigned i=0; i<NumCategories; i++)
Symbols[NumClasses + i] =
VMContext.getConstantExprBitCast(DefinedCategories[i],
llvm::ConstantExpr::getBitCast(DefinedCategories[i],
ObjCTypes.Int8PtrTy);
Values[4] =
@ -2929,7 +2929,7 @@ llvm::Constant *CGObjCMac::EmitModuleSymbols() {
CreateMetadataVar("\01L_OBJC_SYMBOLS", Init,
"__OBJC,__symbols,regular,no_dead_strip",
4, true);
return VMContext.getConstantExprBitCast(GV, ObjCTypes.SymtabPtrTy);
return llvm::ConstantExpr::getBitCast(GV, ObjCTypes.SymtabPtrTy);
}
llvm::Value *CGObjCMac::EmitClassRef(CGBuilderTy &Builder,
@ -2940,7 +2940,7 @@ llvm::Value *CGObjCMac::EmitClassRef(CGBuilderTy &Builder,
if (!Entry) {
llvm::Constant *Casted =
VMContext.getConstantExprBitCast(GetClassName(ID->getIdentifier()),
llvm::ConstantExpr::getBitCast(GetClassName(ID->getIdentifier()),
ObjCTypes.ClassPtrTy);
Entry =
CreateMetadataVar("\01L_OBJC_CLASS_REFERENCES_", Casted,
@ -2956,7 +2956,7 @@ llvm::Value *CGObjCMac::EmitSelector(CGBuilderTy &Builder, Selector Sel) {
if (!Entry) {
llvm::Constant *Casted =
VMContext.getConstantExprBitCast(GetMethodVarName(Sel),
llvm::ConstantExpr::getBitCast(GetMethodVarName(Sel),
ObjCTypes.SelectorPtrTy);
Entry =
CreateMetadataVar("\01L_OBJC_SELECTOR_REFERENCES_", Casted,
@ -4066,7 +4066,7 @@ void CGObjCNonFragileABIMac::AddModuleClassList(const
std::vector<llvm::Constant*> Symbols(NumClasses);
for (unsigned i=0; i<NumClasses; i++)
Symbols[i] = VMContext.getConstantExprBitCast(Container[i],
Symbols[i] = llvm::ConstantExpr::getBitCast(Container[i],
ObjCTypes.Int8PtrTy);
llvm::Constant* Init =
llvm::ConstantArray::get(VMContext.getArrayType(ObjCTypes.Int8PtrTy,
@ -4443,7 +4443,7 @@ llvm::Value *CGObjCNonFragileABIMac::GenerateProtocolRef(CGBuilderTy &Builder,
// of protocol's meta-data (not a reference to it!)
//
llvm::Constant *Init =
VMContext.getConstantExprBitCast(GetOrEmitProtocol(PD),
llvm::ConstantExpr::getBitCast(GetOrEmitProtocol(PD),
ObjCTypes.ExternalProtocolPtrTy);
std::string ProtocolName("\01l_OBJC_PROTOCOL_REFERENCE_$_");
@ -4566,10 +4566,10 @@ llvm::Constant *CGObjCNonFragileABIMac::GetMethodConstant(
std::vector<llvm::Constant*> Method(3);
Method[0] =
VMContext.getConstantExprBitCast(GetMethodVarName(MD->getSelector()),
llvm::ConstantExpr::getBitCast(GetMethodVarName(MD->getSelector()),
ObjCTypes.SelectorPtrTy);
Method[1] = GetMethodVarType(MD);
Method[2] = VMContext.getConstantExprBitCast(Fn, ObjCTypes.Int8PtrTy);
Method[2] = llvm::ConstantExpr::getBitCast(Fn, ObjCTypes.Int8PtrTy);
return llvm::ConstantStruct::get(ObjCTypes.MethodTy, Method);
}
@ -4608,7 +4608,7 @@ llvm::Constant *CGObjCNonFragileABIMac::EmitMethodList(
CGM.getTargetData().getPrefTypeAlignment(Init->getType()));
GV->setSection(Section);
CGM.AddUsedGlobal(GV);
return VMContext.getConstantExprBitCast(GV,
return llvm::ConstantExpr::getBitCast(GV,
ObjCTypes.MethodListnfABIPtrTy);
}
@ -4735,7 +4735,7 @@ llvm::Constant *CGObjCNonFragileABIMac::EmitIvarList(
GV->setSection("__DATA, __objc_const");
CGM.AddUsedGlobal(GV);
return VMContext.getConstantExprBitCast(GV, ObjCTypes.IvarListnfABIPtrTy);
return llvm::ConstantExpr::getBitCast(GV, ObjCTypes.IvarListnfABIPtrTy);
}
llvm::Constant *CGObjCNonFragileABIMac::GetOrEmitProtocolRef(
@ -4898,7 +4898,7 @@ CGObjCNonFragileABIMac::EmitProtocolList(const std::string &Name,
// FIXME: We shouldn't need to do this lookup here, should we?
llvm::GlobalVariable *GV = CGM.getModule().getGlobalVariable(Name, true);
if (GV)
return VMContext.getConstantExprBitCast(GV,
return llvm::ConstantExpr::getBitCast(GV,
ObjCTypes.ProtocolListnfABIPtrTy);
for (; begin != end; ++begin)
@ -4926,7 +4926,7 @@ CGObjCNonFragileABIMac::EmitProtocolList(const std::string &Name,
GV->setAlignment(
CGM.getTargetData().getPrefTypeAlignment(Init->getType()));
CGM.AddUsedGlobal(GV);
return VMContext.getConstantExprBitCast(GV,
return llvm::ConstantExpr::getBitCast(GV,
ObjCTypes.ProtocolListnfABIPtrTy);
}
@ -4941,7 +4941,7 @@ llvm::Constant *
CGObjCNonFragileABIMac::GetMethodDescriptionConstant(const ObjCMethodDecl *MD) {
std::vector<llvm::Constant*> Desc(3);
Desc[0] =
VMContext.getConstantExprBitCast(GetMethodVarName(MD->getSelector()),
llvm::ConstantExpr::getBitCast(GetMethodVarName(MD->getSelector()),
ObjCTypes.SelectorPtrTy);
Desc[1] = GetMethodVarType(MD);
// Protocol methods have no implementation. So, this entry is always NULL.
@ -5257,7 +5257,7 @@ llvm::Value *CGObjCNonFragileABIMac::EmitSelector(CGBuilderTy &Builder,
if (!Entry) {
llvm::Constant *Casted =
VMContext.getConstantExprBitCast(GetMethodVarName(Sel),
llvm::ConstantExpr::getBitCast(GetMethodVarName(Sel),
ObjCTypes.SelectorPtrTy);
Entry =
new llvm::GlobalVariable(CGM.getModule(), ObjCTypes.SelectorPtrTy, false,
@ -5699,7 +5699,7 @@ CGObjCNonFragileABIMac::GetInterfaceEHType(const ObjCInterfaceDecl *ID,
llvm::Value *VTableIdx = llvm::ConstantInt::get(llvm::Type::Int32Ty, 2);
std::vector<llvm::Constant*> Values(3);
Values[0] = VMContext.getConstantExprGetElementPtr(VTableGV, &VTableIdx, 1);
Values[0] = llvm::ConstantExpr::getGetElementPtr(VTableGV, &VTableIdx, 1);
Values[1] = GetClassName(ID->getIdentifier());
Values[2] = GetClassGlobal(ClassName);
llvm::Constant *Init =

View File

@ -212,7 +212,7 @@ void CodeGenModule::EmitCtorList(const CtorList &Fns, const char *GlobalName) {
std::vector<llvm::Constant*> S;
S.push_back(
llvm::ConstantInt::get(llvm::Type::Int32Ty, I->second, false));
S.push_back(VMContext.getConstantExprBitCast(I->first, CtorPFTy));
S.push_back(llvm::ConstantExpr::getBitCast(I->first, CtorPFTy));
Ctors.push_back(llvm::ConstantStruct::get(CtorStructTy, S));
}
@ -425,7 +425,7 @@ void CodeGenModule::EmitLLVMUsed() {
UsedArray.resize(LLVMUsed.size());
for (unsigned i = 0, e = LLVMUsed.size(); i != e; ++i) {
UsedArray[i] =
VMContext.getConstantExprBitCast(cast<llvm::Constant>(&*LLVMUsed[i]),
llvm::ConstantExpr::getBitCast(cast<llvm::Constant>(&*LLVMUsed[i]),
i8PTy);
}
@ -502,9 +502,9 @@ llvm::Constant *CodeGenModule::EmitAnnotateAttr(llvm::GlobalValue *GV,
// Create the ConstantStruct for the global annotation.
llvm::Constant *Fields[4] = {
VMContext.getConstantExprBitCast(GV, SBP),
VMContext.getConstantExprBitCast(annoGV, SBP),
VMContext.getConstantExprBitCast(unitGV, SBP),
llvm::ConstantExpr::getBitCast(GV, SBP),
llvm::ConstantExpr::getBitCast(annoGV, SBP),
llvm::ConstantExpr::getBitCast(unitGV, SBP),
llvm::ConstantInt::get(llvm::Type::Int32Ty, LineNo)
};
return llvm::ConstantStruct::get(Fields, 4, false);
@ -621,7 +621,7 @@ llvm::Constant *CodeGenModule::GetOrCreateLLVMFunction(const char *MangledName,
// Make sure the result is of the correct type.
const llvm::Type *PTy = VMContext.getPointerTypeUnqual(Ty);
return VMContext.getConstantExprBitCast(Entry, PTy);
return llvm::ConstantExpr::getBitCast(Entry, PTy);
}
// This is the first use or definition of a mangled name. If there is a
@ -700,7 +700,7 @@ llvm::Constant *CodeGenModule::GetOrCreateLLVMGlobal(const char *MangledName,
return Entry;
// Make sure the result is of the correct type.
return VMContext.getConstantExprBitCast(Entry, Ty);
return llvm::ConstantExpr::getBitCast(Entry, Ty);
}
// This is the first use or definition of a mangled name. If there is a
@ -848,7 +848,7 @@ void CodeGenModule::EmitGlobalVarDefinition(const VarDecl *D) {
// Replace all uses of the old global with the new global
llvm::Constant *NewPtrForOldDecl =
VMContext.getConstantExprBitCast(GV, Entry->getType());
llvm::ConstantExpr::getBitCast(GV, Entry->getType());
Entry->replaceAllUsesWith(NewPtrForOldDecl);
// Erase the old global, since it is no longer used.
@ -1018,7 +1018,7 @@ void CodeGenModule::EmitGlobalFunctionDefinition(GlobalDecl GD) {
// Replace uses of F with the Function we will endow with a body.
if (!Entry->use_empty()) {
llvm::Constant *NewPtrForOldDecl =
VMContext.getConstantExprBitCast(NewFn, Entry->getType());
llvm::ConstantExpr::getBitCast(NewFn, Entry->getType());
Entry->replaceAllUsesWith(NewPtrForOldDecl);
}
@ -1086,7 +1086,7 @@ void CodeGenModule::EmitAliasDefinition(const ValueDecl *D) {
//
// Remove it and replace uses of it with the alias.
Entry->replaceAllUsesWith(VMContext.getConstantExprBitCast(GA,
Entry->replaceAllUsesWith(llvm::ConstantExpr::getBitCast(GA,
Entry->getType()));
Entry->eraseFromParent();
}
@ -1271,7 +1271,7 @@ CodeGenModule::GetAddrOfConstantCFString(const StringLiteral *Literal) {
"__CFConstantStringClassReference");
// Decay array -> ptr
CFConstantStringClassRef =
VMContext.getConstantExprGetElementPtr(GV, Zeros, 2);
llvm::ConstantExpr::getGetElementPtr(GV, Zeros, 2);
}
QualType CFTy = getContext().getCFConstantStringType();
@ -1331,7 +1331,7 @@ CodeGenModule::GetAddrOfConstantCFString(const StringLiteral *Literal) {
GV->setAlignment(Align);
}
appendFieldAndPadding(*this, Fields, CurField, NextField,
VMContext.getConstantExprGetElementPtr(GV, Zeros, 2),
llvm::ConstantExpr::getGetElementPtr(GV, Zeros, 2),
CFRD, STy);
// String length.