diff options
author | Samuel Antao <sfantao@us.ibm.com> | 2015-11-23 22:04:44 +0000 |
---|---|---|
committer | Samuel Antao <sfantao@us.ibm.com> | 2015-11-23 22:04:44 +0000 |
commit | 798f11cfb76dea68d2cda43e1623904c19d0bc61 (patch) | |
tree | bb4399b8d53819090abe0c4d2532bf8038a1f076 /clang/lib/CodeGen/CGObjC.cpp | |
parent | 2f16f25391b61e6c8dc13fdea528cfab84b3410d (diff) | |
download | bcm5719-llvm-798f11cfb76dea68d2cda43e1623904c19d0bc61.tar.gz bcm5719-llvm-798f11cfb76dea68d2cda43e1623904c19d0bc61.zip |
Preserve exceptions information during calls code generation.
This patch changes the generation of CGFunctionInfo to contain
the FunctionProtoType if it is available. This enables the code
generation for call instructions to look into this type for
exception information and therefore generate better quality
IR - it will not create invoke instructions for functions that
are know not to throw.
llvm-svn: 253926
Diffstat (limited to 'clang/lib/CodeGen/CGObjC.cpp')
-rw-r--r-- | clang/lib/CodeGen/CGObjC.cpp | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/clang/lib/CodeGen/CGObjC.cpp b/clang/lib/CodeGen/CGObjC.cpp index 766102e723e..6865f974fc2 100644 --- a/clang/lib/CodeGen/CGObjC.cpp +++ b/clang/lib/CodeGen/CGObjC.cpp @@ -949,11 +949,11 @@ CodeGenFunction::generateObjCGetterBody(const ObjCImplementationDecl *classImpl, // FIXME: We shouldn't need to get the function info here, the // runtime already should have computed it to build the function. llvm::Instruction *CallInstruction; - RValue RV = EmitCall(getTypes().arrangeFreeFunctionCall(propType, args, - FunctionType::ExtInfo(), - RequiredArgs::All), - getPropertyFn, ReturnValueSlot(), args, nullptr, - &CallInstruction); + RValue RV = EmitCall( + getTypes().arrangeFreeFunctionCall( + propType, args, FunctionType::ExtInfo(), RequiredArgs::All), + getPropertyFn, ReturnValueSlot(), args, CGCalleeInfo(), + &CallInstruction); if (llvm::CallInst *call = dyn_cast<llvm::CallInst>(CallInstruction)) call->setTailCall(); |