Make llvm.eh.begincatch use an outparam
authorReid Kleckner <reid@kleckner.net>
Tue, 3 Mar 2015 17:41:09 +0000 (17:41 +0000)
committerReid Kleckner <reid@kleckner.net>
Tue, 3 Mar 2015 17:41:09 +0000 (17:41 +0000)
commit9c28314a68b3abcf12698f0b68ebbd8adcef5d54
treed09b9532319dc36762eea5b8b70881bc47985fad
parentf1de1adc82c69894fcc8178c689269215c6f2710
Make llvm.eh.begincatch use an outparam

Ultimately, __CxxFrameHandler3 needs us to put a stack offset in a
table, and it will take responsibility for copying the exception object
into that slot. Modelling the exception object as an SSA value returned
by begincatch isn't going to work in general, so make it use an output
parameter.

Reviewers: andrew.w.kaylor

Differential Revision: http://reviews.llvm.org/D7920

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@231086 91177308-0d34-0410-b5e6-96231b3b80d8
docs/ExceptionHandling.rst
include/llvm/IR/Intrinsics.td
test/Analysis/Lint/cppeh-catch-intrinsics-clean.ll
test/Analysis/Lint/cppeh-catch-intrinsics.ll
test/CodeGen/X86/cppeh-catch-all.ll
test/CodeGen/X86/cppeh-catch-scalar.ll
test/CodeGen/X86/cppeh-frame-vars.ll
test/CodeGen/X86/cppeh-inalloca.ll
test/CodeGen/X86/cppeh-nonalloca-frame-values.ll