llvm-project/llvm/lib
Reid Kleckner c20276d0b2 [WinEH] Move WinEHFuncInfo from MachineModuleInfo to MachineFunction
Summary:
Now that there is a one-to-one mapping from MachineFunction to
WinEHFuncInfo, we don't need to use a DenseMap to select the right
WinEHFuncInfo for the current funclet.

The main challenge here is that X86WinEHStatePass is an IR pass that
doesn't have access to the MachineFunction. I gave it its own
WinEHFuncInfo object that it uses to calculate state numbers, which it
then throws away. As long as nobody creates or removes EH pads between
this pass and SDAG construction, we will get the same state numbers.

The other thing X86WinEHStatePass does is to mark the EH registration
node. Instead of communicating which alloca was the registration through
WinEHFuncInfo, I added the llvm.x86.seh.ehregnode intrinsic.  This
intrinsic generates no code and simply marks the alloca in use.

Reviewers: JCTremoulet

Subscribers: llvm-commits

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

llvm-svn: 253378
2015-11-17 21:10:25 +00:00
..
Analysis Specify explicit storage type for AllocType. NFC. 2015-11-17 19:48:06 +00:00
AsmParser [IR] Add support for empty tokens 2015-11-11 21:57:16 +00:00
Bitcode Use a different block id for block of metadata kind records 2015-11-15 02:00:09 +00:00
CodeGen [WinEH] Move WinEHFuncInfo from MachineModuleInfo to MachineFunction 2015-11-17 21:10:25 +00:00
DebugInfo dwarfdump: Reference the appropriate line table segment when dumping dwp files 2015-11-17 21:08:05 +00:00
ExecutionEngine [RuntimeDyld] Fix resolving R_PPC64_REL24 relocations 2015-11-17 20:08:31 +00:00
Fuzzer [libFuzzer] make libFuzzer build even with a compiler that does not have sanitizer headers 2015-11-13 01:54:40 +00:00
IR Drop prelink support. 2015-11-17 00:51:23 +00:00
IRReader Return a unique_ptr from getLazyBitcodeModule and parseBitcodeFile. NFC. 2015-06-16 22:27:55 +00:00
LTO Switch lto codegen to using diagnostic handlers. 2015-11-17 19:48:12 +00:00
LibDriver [Option] Use an ArrayRef to store the Option Infos in OptTable. NFC 2015-10-21 16:30:42 +00:00
LineEditor
Linker Fix mapping of unmaterialized global values during metadata linking 2015-11-15 14:50:14 +00:00
MC [Assembler] Make fatal assembler errors non-fatal 2015-11-17 10:00:43 +00:00
Object ELFYAML: Add support for parsing AMDGPU section attribute flags 2015-11-13 17:06:29 +00:00
Option [Option] Use an ArrayRef to store the Option Infos in OptTable. NFC 2015-10-21 16:30:42 +00:00
Passes [PM] Port StripDeadPrototypes to the new pass manager 2015-10-30 23:28:12 +00:00
ProfileData SamplePGO - Move debug/dump function bodies out of header files. NFC. 2015-11-17 19:04:46 +00:00
Support StringRef-ify some Option APIs 2015-11-17 19:00:52 +00:00
TableGen [TblGen] ArrayRefize TGParser. No functional change intended. 2015-10-24 12:46:45 +00:00
Target [WinEH] Move WinEHFuncInfo from MachineModuleInfo to MachineFunction 2015-11-17 21:10:25 +00:00
Transforms [EH] Keep filter clauses for types that have been caught. 2015-11-17 20:13:04 +00:00
CMakeLists.txt LibDriver, llvm-lib: introduce. 2015-06-09 21:50:22 +00:00
LLVMBuild.txt Wrap some long lines in LLVMBuild files. NFC 2015-06-12 18:44:57 +00:00
Makefile LibDriver, llvm-lib: introduce. 2015-06-09 21:50:22 +00:00