llvm-project/llvm/lib/CodeGen/AsmPrinter
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
..
ARMException.cpp [EH] Handle non-Function personalities like unknown personalities 2015-08-31 20:02:16 +00:00
AddressPool.cpp MC: Clean up MCExpr naming. NFC. 2015-05-30 01:25:56 +00:00
AddressPool.h Revert r240137 (Fixed/added namespace ending comments using clang-tidy. NFC) 2015-06-23 09:49:53 +00:00
AsmPrinter.cpp Use TargetRegisterInfo for printing MachineOperand register comments 2015-11-17 16:01:28 +00:00
AsmPrinterDwarf.cpp [X86] Generate .cfi_adjust_cfa_offset correctly when pushing arguments 2015-11-03 08:17:25 +00:00
AsmPrinterHandler.h [WinEH] Teach AsmPrinter about funclets 2015-09-29 20:12:33 +00:00
AsmPrinterInlineAsm.cpp Reduce the size of MCRelaxableFragment. 2015-11-14 06:35:56 +00:00
ByteStreamer.h -Wdeprecated-clean: Fix cases of violating the rule of 5 in ways that are deprecated in C++11 2015-08-03 20:12:58 +00:00
CMakeLists.txt AsmPrinter: Don't emit empty .debug_loc entries 2015-06-21 16:54:56 +00:00
DIE.cpp AsmPrinter: Split out non-DIE printing from DIE::print(), NFC 2015-08-02 20:46:49 +00:00
DIEHash.cpp [AsmPrinter] Prune dead code. NFC. 2015-10-15 17:16:32 +00:00
DIEHash.h [AsmPrinter] Prune dead code. NFC. 2015-10-15 17:16:32 +00:00
DbgValueHistoryCalculator.cpp IR: Give 'DI' prefix to debug info metadata 2015-04-29 16:38:44 +00:00
DbgValueHistoryCalculator.h Revert r240137 (Fixed/added namespace ending comments using clang-tidy. NFC) 2015-06-23 09:49:53 +00:00
DebugLocEntry.h Replace a forward declaration with an #include. 2015-10-15 20:58:55 +00:00
DebugLocStream.cpp AsmPrinter: Don't emit empty .debug_loc entries 2015-06-21 16:54:56 +00:00
DebugLocStream.h AsmPrinter: Don't emit empty .debug_loc entries 2015-06-21 16:54:56 +00:00
DwarfAccelTable.cpp Fix some Clang-tidy modernize warnings, other minor fixes. 2015-11-04 22:32:32 +00:00
DwarfAccelTable.h Revert r240137 (Fixed/added namespace ending comments using clang-tidy. NFC) 2015-06-23 09:49:53 +00:00
DwarfCFIException.cpp [EH] Handle non-Function personalities like unknown personalities 2015-08-31 20:02:16 +00:00
DwarfCompileUnit.cpp clang-format lib/CodeGen/AsmPrinter/DwarfCompileUnit.cpp 2015-11-11 18:09:47 +00:00
DwarfCompileUnit.h Move imported entities into DwarfCompilationUnit to speed up LTO linking. 2015-10-26 21:36:35 +00:00
DwarfDebug.cpp DI: Reverse direction of subprogram -> function edge. 2015-11-05 22:03:56 +00:00
DwarfDebug.h Erase unused FunctionDIs variables after r252219. 2015-11-07 10:21:25 +00:00
DwarfException.h [AsmPrinter] Hide implementation details 2015-07-01 16:18:16 +00:00
DwarfExpression.cpp Fix debug info with SafeStack. 2015-09-30 19:55:43 +00:00
DwarfExpression.h Revert r240137 (Fixed/added namespace ending comments using clang-tidy. NFC) 2015-06-23 09:49:53 +00:00
DwarfFile.cpp AsmPrinter: Use an intrusively linked list for DIE::Children 2015-06-25 23:52:10 +00:00
DwarfFile.h Revert r240137 (Fixed/added namespace ending comments using clang-tidy. NFC) 2015-06-23 09:49:53 +00:00
DwarfStringPool.cpp AsmPrinter: Avoid creating symbols in DwarfStringPool 2015-05-24 16:58:59 +00:00
DwarfStringPool.h Revert r240137 (Fixed/added namespace ending comments using clang-tidy. NFC) 2015-06-23 09:49:53 +00:00
DwarfUnit.cpp [DIBuilder] Make createReferenceType take size and align 2015-11-16 07:57:32 +00:00
DwarfUnit.h [AsmPrinter] Prune dead code. NFC. 2015-10-15 17:16:32 +00:00
EHStreamer.cpp Use make_range(rbegin(), rend()) to allow foreach loops. NFC. 2015-07-24 21:13:43 +00:00
EHStreamer.h [WinEH] Emit __C_specific_handler tables for the new IR 2015-10-01 21:38:24 +00:00
ErlangGCPrinter.cpp Move most user of TargetMachine::getDataLayout to the Module one 2015-07-16 06:11:10 +00:00
LLVMBuild.txt
Makefile
OcamlGCPrinter.cpp Move most user of TargetMachine::getDataLayout to the Module one 2015-07-16 06:11:10 +00:00
WinCodeViewLineTables.cpp Fix some comment typos. 2015-08-08 18:27:36 +00:00
WinCodeViewLineTables.h [CodeView] Add support for emitting column information 2015-07-09 00:19:51 +00:00
WinException.cpp [WinEH] Move WinEHFuncInfo from MachineModuleInfo to MachineFunction 2015-11-17 21:10:25 +00:00
WinException.h [WinEH] Move WinEHFuncInfo from MachineModuleInfo to MachineFunction 2015-11-17 21:10:25 +00:00