objc2's ir-gen for nonfragile ivar access.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@63578 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/lib/CodeGen/CodeGenFunction.h b/lib/CodeGen/CodeGenFunction.h
index 9033a65..75353a7 100644
--- a/lib/CodeGen/CodeGenFunction.h
+++ b/lib/CodeGen/CodeGenFunction.h
@@ -233,6 +233,10 @@
/// LoadObjCSelf - Load the value of self. This function is only
/// valid while generating code for an Objective-C method.
llvm::Value *LoadObjCSelf();
+
+ /// TypeOfSelfObject
+ /// Return type of object that this self represents.
+ QualType TypeOfSelfObject();
/// isObjCPointerType - Return true if the specificed AST type will map onto
/// some Objective-C pointer type.
@@ -521,7 +525,8 @@
const ObjCIvarDecl *Ivar);
LValue EmitLValueForField(llvm::Value* Base, FieldDecl* Field,
bool isUnion, unsigned CVRQualifiers);
- LValue EmitLValueForIvar(llvm::Value* Base, const ObjCIvarDecl *Ivar,
+ LValue EmitLValueForIvar(QualType ObjectTy,
+ llvm::Value* Base, const ObjCIvarDecl *Ivar,
const FieldDecl *Field,
unsigned CVRQualifiers);