llvm-6502/lib/IR
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
..
AsmWriter.cpp Allow alias to point to an arbitrary ConstantExpr. 2014-06-03 02:41:57 +00:00
AsmWriter.h
AttributeImpl.h
Attributes.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
AutoUpgrade.cpp [X86] Auto-upgrade AVX1 vbroadcast intrinsics 2014-05-29 23:35:33 +00:00
BasicBlock.cpp
CMakeLists.txt
ConstantFold.cpp
ConstantFold.h
ConstantRange.cpp
Constants.cpp [IR] Make {extract,insert}element accept an index of any integer type. 2014-05-01 22:12:39 +00:00
ConstantsContext.h Try to fix the msvc build. 2014-04-29 23:37:02 +00:00
Core.cpp Allow alias to point to an arbitrary ConstantExpr. 2014-06-03 02:41:57 +00:00
DataLayout.cpp
DebugInfo.cpp PR19598: Provide the ability to RAUW a declaration with itself, creating a non-temporary copy and using that to RAUW. 2014-05-06 03:41:57 +00:00
DebugLoc.cpp Add missing const specifier to a const method. 2014-06-05 14:32:15 +00:00
DiagnosticInfo.cpp Remove LLVMContextImpl::optimizationRemarkEnabledFor. 2014-05-22 17:19:01 +00:00
DiagnosticPrinter.cpp
DIBuilder.cpp DebugInfo: Add FIXME regarding DILexicalBlock uniquing fields. 2014-05-15 20:09:55 +00:00
Dominators.cpp
Function.cpp Add 'nonnull', a new parameter and return attribute which indicates that the pointer is not null. Instcombine will elide comparisons between these and null. Patch by Luqman Aden! 2014-05-20 01:23:40 +00:00
GCOV.cpp llvm-cov: Explicitly namespace llvm::make_unique to keep MSVC happy 2014-05-07 16:01:27 +00:00
Globals.cpp Fix gcc -Wparentheses warning. 2014-06-04 11:21:11 +00:00
GVMaterializer.cpp
InlineAsm.cpp
Instruction.cpp Instruction::isIdenticalToWhenDefined(): Check getNumOperands() in advance of std::equal(op) to appease MSVC Debug build. 2014-06-02 01:35:34 +00:00
Instructions.cpp Clauses in a landingpad are always Constant. Use a stricter type. 2014-06-04 18:51:31 +00:00
IntrinsicInst.cpp
IRBuilder.cpp
IRPrintingPasses.cpp Fix some misplaced spaces around 'override' 2014-05-24 20:19:40 +00:00
LeakDetector.cpp
LeaksContext.h [C++] Use 'nullptr'. 2014-04-28 04:05:08 +00:00
LegacyPassManager.cpp Add C API for thread yielding callback. 2014-05-16 02:33:15 +00:00
LLVMBuild.txt
LLVMContext.cpp Remove LLVMContextImpl::optimizationRemarkEnabledFor. 2014-05-22 17:19:01 +00:00
LLVMContextImpl.cpp Remove LLVMContextImpl::optimizationRemarkEnabledFor. 2014-05-22 17:19:01 +00:00
LLVMContextImpl.h Remove LLVMContextImpl::optimizationRemarkEnabledFor. 2014-05-22 17:19:01 +00:00
Makefile
Mangler.cpp
MDBuilder.cpp
Metadata.cpp
Module.cpp Use error_code() instead of error_code::succes() 2014-05-31 01:37:45 +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
Pass.cpp Revert "[PM] Add pass run listeners to the pass manager." 2014-05-15 17:49:20 +00:00
PassManager.cpp Add C API for thread yielding callback. 2014-05-16 02:33:15 +00:00
PassRegistry.cpp
SymbolTableListTraitsImpl.h [C++] Use 'nullptr'. 2014-04-28 04:05:08 +00:00
Type.cpp
TypeFinder.cpp
Use.cpp
User.cpp
Value.cpp Allow alias to point to an arbitrary ConstantExpr. 2014-06-03 02:41:57 +00:00
ValueSymbolTable.cpp
ValueTypes.cpp
Verifier.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