[WinEH] Run cleanup handlers when an exception is thrown
authorDavid Majnemer <david.majnemer@gmail.com>
Mon, 30 Mar 2015 22:58:10 +0000 (22:58 +0000)
committerDavid Majnemer <david.majnemer@gmail.com>
Mon, 30 Mar 2015 22:58:10 +0000 (22:58 +0000)
commit0a8ff297adf36a0a01d1e2dce80857e6b258a023
tree0e6780261864d9d88827ccab2fb338c8c08d1e47
parent1c8595529b9664fc919001e3f24da0830d68bef2
[WinEH] Run cleanup handlers when an exception is thrown

Generate tables in the .xdata section representing what actions to take
when an exception is thrown.  This currently fills in state for
cleanups, catch handlers are still unfinished.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@233636 91177308-0d34-0410-b5e6-96231b3b80d8
26 files changed:
include/llvm/CodeGen/MachineModuleInfo.h
include/llvm/CodeGen/WinEHFuncInfo.h [new file with mode: 0644]
include/llvm/IR/CallSite.h
lib/Analysis/TargetLibraryInfo.cpp
lib/CodeGen/AsmPrinter/EHStreamer.cpp
lib/CodeGen/AsmPrinter/EHStreamer.h
lib/CodeGen/AsmPrinter/Win64Exception.cpp
lib/CodeGen/AsmPrinter/Win64Exception.h
lib/CodeGen/MachineModuleInfo.cpp
lib/CodeGen/PrologEpilogInserter.cpp
lib/CodeGen/SelectionDAG/FastISel.cpp
lib/CodeGen/SelectionDAG/FunctionLoweringInfo.cpp
lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp
lib/CodeGen/WinEHPrepare.cpp
test/CodeGen/WinEH/cppeh-catch-all.ll
test/CodeGen/WinEH/cppeh-catch-scalar.ll
test/CodeGen/WinEH/cppeh-catch-unwind.ll
test/CodeGen/WinEH/cppeh-cleanups.ll [new file with mode: 0644]
test/CodeGen/WinEH/cppeh-frame-vars.ll
test/CodeGen/WinEH/cppeh-inalloca.ll
test/CodeGen/WinEH/cppeh-min-unwind.ll
test/CodeGen/WinEH/cppeh-nested-1.ll
test/CodeGen/WinEH/cppeh-nested-2.ll
test/CodeGen/WinEH/cppeh-nested-3.ll
test/CodeGen/WinEH/cppeh-nonalloca-frame-values.ll