llvm-project/llvm/lib/CodeGen/AsmPrinter
Joseph Tremoulet 3d0fbf1d74 [CodeGen] Mark setjmp/catchret MBBs address-taken
Summary:
This ensures that BranchFolding (and similar) won't remove these blocks.

Also allow AsmPrinter::EmitBasicBlockStart to process MBBs which are
address-taken but do not have BBs that are address-taken, since otherwise
its call to getAddrLabelSymbolTableToEmit would fail an assertion on such
blocks.  I audited the other callers of getAddrLabelSymbolTableToEmit
(and getAddrLabelSymbol); they all have BBs known to be address-taken
except for the call through getAddrLabelSymbol from
WinException::create32bitRef; that call is actually now unreachable, so
I've removed it and updated the signature of create32bitRef.

This fixes PR25168.

Reviewers: majnemer, andrew.w.kaylor, rnk

Subscribers: pgavlin, llvm-commits

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

llvm-svn: 251113
2015-10-23 15:06:05 +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 [CodeGen] Mark setjmp/catchret MBBs address-taken 2015-10-23 15:06:05 +00:00
AsmPrinterDwarf.cpp [AsmPrinter] Prune dead code. NFC. 2015-10-15 17:16:32 +00:00
AsmPrinterHandler.h [WinEH] Teach AsmPrinter about funclets 2015-09-29 20:12:33 +00:00
AsmPrinterInlineAsm.cpp Move most user of TargetMachine::getDataLayout to the Module one 2015-07-16 06:11:10 +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 MC: Clean up MCExpr naming. NFC. 2015-05-30 01:25:56 +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 Implement target independent TLS compatible with glibc's emutls.c. 2015-07-28 16:24:05 +00:00
DwarfCompileUnit.h Revert "[DWARF] Fix debug info generation for function static variables, typedefs, and records" 2015-07-01 18:07:16 +00:00
DwarfDebug.cpp [AsmPrinter] Prune dead code. NFC. 2015-10-15 17:16:32 +00:00
DwarfDebug.h [AsmPrinter] Prune dead code. NFC. 2015-10-15 17:16:32 +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 DebugInfo: Include the decl_line/decl_file in subprogram definitions if they differ from those in the declaration 2015-10-07 00:04:16 +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 [CodeGen] Mark setjmp/catchret MBBs address-taken 2015-10-23 15:06:05 +00:00
WinException.h [CodeGen] Mark setjmp/catchret MBBs address-taken 2015-10-23 15:06:05 +00:00