llvm-6502/lib/CodeGen/AsmPrinter
Tom Roeder 5d0f7af3dc Add a new attribute called 'jumptable' that creates jump-instruction tables for functions marked with this attribute.
It includes a pass that rewrites all indirect calls to jumptable functions to pass through these tables.

This also adds backend support for generating the jump-instruction tables on ARM and X86.
Note that since the jumptable attribute creates a second function pointer for a
function, any function marked with jumptable must also be marked with unnamed_addr.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@210280 91177308-0d34-0410-b5e6-96231b3b80d8
2014-06-05 19:29:43 +00:00
..
AddressPool.cpp DWARF Type Units: Avoid emitting type units under fission if the type requires an address. 2014-04-26 17:27:38 +00:00
AddressPool.h AddressPool::HasBeenUsed: Add comment explaining the use-case for this flag. 2014-04-28 22:52:50 +00:00
ARMException.cpp Fix ARM EHABI when function has landingpad and nounwind. 2014-05-14 16:38:30 +00:00
AsmPrinter.cpp Add a new attribute called 'jumptable' that creates jump-instruction tables for functions marked with this attribute. 2014-06-05 19:29:43 +00:00
AsmPrinterDwarf.cpp Clarify the doxygen comment for AsmPrinter::EmitDwarfRegOpPiece and add 2014-04-27 18:50:45 +00:00
AsmPrinterHandler.h Remove weak vtables. No functional change. 2013-12-14 12:23:14 +00:00
AsmPrinterInlineAsm.cpp [C++] Use 'nullptr'. 2014-04-24 06:44:33 +00:00
ByteStreamer.h [C++11] Add 'override' keyword to virtual methods that override their base class. 2014-03-08 06:31:39 +00:00
CMakeLists.txt Move logic for calculating DBG_VALUE history map into separate file/class. 2014-04-30 21:34:11 +00:00
DbgValueHistoryCalculator.cpp Change representation of instruction ranges where variable is accessible. 2014-05-27 23:09:50 +00:00
DbgValueHistoryCalculator.h Change representation of instruction ranges where variable is accessible. 2014-05-27 23:09:50 +00:00
DebugLocEntry.h [C++] Use 'nullptr'. 2014-04-28 04:05:08 +00:00
DebugLocList.h DebugInfo: Introduce DebugLocList to encapsulate a list of DebugLocEntries and an MC Label to refer to them 2014-04-02 01:43:18 +00:00
DIE.cpp DIEEntry: Refer to the specified DIE via reference rather than pointer. 2014-04-25 19:33:43 +00:00
DIE.h DIE: Document some learnings about why the world isn't perfect. 2014-04-28 22:41:39 +00:00
DIEHash.cpp DIEEntry: Refer to the specified DIE via reference rather than pointer. 2014-04-25 19:33:43 +00:00
DIEHash.h [C++] Use 'nullptr'. 2014-04-24 06:44:33 +00:00
DwarfAccelTable.cpp DwarfAccelTable: Store the string symbol in the accelerator table to avoid duplicate lookup. 2014-04-25 22:21:35 +00:00
DwarfAccelTable.h Remove redundant explicit default initialization of non-trivially constructed member. 2014-04-27 14:47:23 +00:00
DwarfCFIException.cpp Fix MIPS exception personality encoding. 2014-05-30 16:48:56 +00:00
DwarfDebug.cpp DebugInfo: Reuse existing LexicalScope to retrieve the scope's MDNode, rather than looking it up through the DebugLoc. 2014-06-05 01:30:50 +00:00
DwarfDebug.h DebugInfo: Reuse existing LexicalScope to retrieve the scope's MDNode, rather than looking it up through the DebugLoc. 2014-06-05 01:30:50 +00:00
DwarfException.cpp Convert more loops to range-based equivalents 2014-04-30 22:17:38 +00:00
DwarfException.h [C++11] Add 'override' keyword to virtual methods that override their base class. 2014-03-08 06:31:39 +00:00
DwarfFile.cpp Encapsulate the DWARF string pool in a separate type. 2014-04-25 21:34:35 +00:00
DwarfFile.h Encapsulate the DWARF string pool in a separate type. 2014-04-25 21:34:35 +00:00
DwarfStringPool.cpp Make helper functions static. 2014-04-27 14:54:59 +00:00
DwarfStringPool.h Encapsulate the DWARF string pool in a separate type. 2014-04-25 21:34:35 +00:00
DwarfUnit.cpp Revert r210221 again, due to a crash Richard Smith has provided involving self-hosting LLVM with libc++. 2014-06-05 02:04:59 +00:00
DwarfUnit.h DebugInfo: Simplify solution to avoid DW_AT_artificial on inlined parameters. 2014-05-27 19:34:32 +00:00
ErlangGCPrinter.cpp [C++11] Add 'override' keyword to virtual methods that override their base class. 2014-03-08 06:31:39 +00:00
LLVMBuild.txt Add proper dependencies to LLVMBuild.txt in llvm/lib. 2013-12-10 05:39:34 +00:00
Makefile
OcamlGCPrinter.cpp [C++11] Add 'override' keyword to virtual methods that override their base class. 2014-03-08 06:31:39 +00:00
Win64Exception.cpp Add back r201608, r201622, r201624 and r201625 2014-02-19 17:23:20 +00:00
WinCodeViewLineTables.cpp Convert more loops to range-based equivalents 2014-04-30 22:17:38 +00:00
WinCodeViewLineTables.h [C++] Use 'nullptr'. 2014-04-28 04:05:08 +00:00