OSDN Git Service

[WinEH] Start inserting state number stores for C++ EH
authorReid Kleckner <reid@kleckner.net>
Thu, 28 May 2015 22:00:24 +0000 (22:00 +0000)
committerReid Kleckner <reid@kleckner.net>
Thu, 28 May 2015 22:00:24 +0000 (22:00 +0000)
commit5f50442d79df229027a8c5eda0d56f7a9cd55757
tree158cddec81b5ae97ed26a40b1bf0fd3b2f7b9b69
parentfb48de619e2bac3f4fe3aeda06a7b1c08fc4d623
[WinEH] Start inserting state number stores for C++ EH

This moves all the state numbering code for C++ EH to WinEHPrepare so
that we can call it from the X86 state numbering IR pass that runs
before isel.

Now we just call the same state numbering machinery and insert a bunch
of stores. It also populates MachineModuleInfo with information about
the current function.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@238514 91177308-0d34-0410-b5e6-96231b3b80d8
include/llvm/CodeGen/WinEHFuncInfo.h
lib/CodeGen/SelectionDAG/FunctionLoweringInfo.cpp
lib/CodeGen/WinEHPrepare.cpp
lib/Target/X86/X86WinEHState.cpp
test/CodeGen/X86/win32-eh-states.ll [new file with mode: 0644]
test/CodeGen/X86/win32-eh.ll