]> granicus.if.org Git - llvm/commit
[WinEH] Don't emit state stores or EH thunks for available_externally functions
authorReid Kleckner <rnk@google.com>
Thu, 28 Dec 2017 18:41:31 +0000 (18:41 +0000)
committerReid Kleckner <rnk@google.com>
Thu, 28 Dec 2017 18:41:31 +0000 (18:41 +0000)
commit1cd162a83ecb3f219798a66df0b60945fd413eeb
treef83576b1f85c878177d4d1215c4959d6281054bf
parent31342448aaa0947e5cee9e7eabcb335db1cbc405
[WinEH] Don't emit state stores or EH thunks for available_externally functions

The exception handler thunk needs to reference the LSDA of the parent
function, which won't be emitted if it's available_externally.

Fixes PR35736. ThinLTO ends up producing available_externally functions
that use _CxxFrameHandler3.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@321532 91177308-0d34-0410-b5e6-96231b3b80d8
lib/Target/X86/X86WinEHState.cpp
test/CodeGen/X86/win32-eh-available-externally.ll [new file with mode: 0644]