llvm-6502/include/llvm
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
..
ADT Implement one operator== with another. 2014-06-03 15:06:22 +00:00
Analysis 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
AsmParser
Bitcode 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
CodeGen 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
Config config.h: fix layering and don't duplicate definitions 2014-06-04 03:21:38 +00:00
DebugInfo [DWARF parser] Teach DIContext to fetch short (non-linkage) function names for a given address. 2014-05-17 00:07:48 +00:00
ExecutionEngine ExecutionEngine: avoid NDEBUG in headers 2014-05-31 21:26:17 +00:00
IR 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
IRReader
LineEditor [C++11] Replace OwningPtr with std::unique_ptr in places where it doesn't break the API. 2014-04-21 09:34:48 +00:00
Linker [Layering] Sink Linker.h into a Linker subdirectory to make it 2014-03-06 03:42:23 +00:00
LTO Rename member variable to try to fix the bots. 2014-05-03 15:28:13 +00:00
MC MachO: support N_INDR aliases in assembly files. 2014-05-30 13:22:59 +00:00
Object [Object][ELF] Range-based loop simplification. 2014-06-04 05:51:44 +00:00
Option Options: Use erase_if to remove Args from the list. 2014-05-18 15:14:13 +00:00
ProfileData Use an enum class. 2014-06-03 05:12:33 +00:00
Support Support: style/documentation cleanup for format 2014-06-04 15:47:07 +00:00
TableGen Fix some misplaced spaces around 'override' 2014-05-24 20:19:40 +00:00
Target 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
Transforms Remove sanitizer blacklist from ASan/TSan/MSan function passes. 2014-06-02 18:08:27 +00:00
CMakeLists.txt [modules] Add module maps for LLVM. These are not quite ready for prime-time 2014-05-21 02:46:14 +00:00
InitializePasses.h 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
LinkAllIR.h
LinkAllPasses.h 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
module.modulemap [modules] Add module maps for LLVM. These are not quite ready for prime-time 2014-05-21 02:46:14 +00:00
module.modulemap.build [modules] Add module maps for LLVM. These are not quite ready for prime-time 2014-05-21 02:46:14 +00:00
Pass.h Revert "[PM] Add pass run listeners to the pass manager." 2014-05-15 17:49:20 +00:00
PassAnalysisSupport.h [C++11] More 'nullptr' conversion. In some cases just using a boolean check instead of comparing to nullptr. 2014-04-14 00:51:57 +00:00
PassManager.h
PassRegistry.h [C++11] More 'nullptr' conversion or in some cases just using a boolean check instead of comparing to nullptr. 2014-04-09 06:08:46 +00:00
PassSupport.h Revert "[PM] Add pass run listeners to the pass manager." 2014-05-15 17:49:20 +00:00