llvm-6502/include/llvm
Evan Cheng cc41586b9d Much improved pic jumptable codegen:
Then:
        call    "L1$pb"
"L1$pb":
        popl    %eax
		...
LBB1_1: # entry
        imull   $4, %ecx, %ecx
        leal    LJTI1_0-"L1$pb"(%eax), %edx
        addl    LJTI1_0-"L1$pb"(%ecx,%eax), %edx
        jmpl    *%edx

        .align  2
        .set L1_0_set_3,LBB1_3-LJTI1_0
        .set L1_0_set_2,LBB1_2-LJTI1_0
        .set L1_0_set_5,LBB1_5-LJTI1_0
        .set L1_0_set_4,LBB1_4-LJTI1_0
LJTI1_0:
        .long    L1_0_set_3
        .long    L1_0_set_2

Now:
        call    "L1$pb"
"L1$pb":
        popl    %eax
		...
LBB1_1: # entry
        addl    LJTI1_0-"L1$pb"(%eax,%ecx,4), %eax
        jmpl    *%eax

		.align  2
		.set L1_0_set_3,LBB1_3-"L1$pb"
		.set L1_0_set_2,LBB1_2-"L1$pb"
		.set L1_0_set_5,LBB1_5-"L1$pb"
		.set L1_0_set_4,LBB1_4-"L1$pb"
LJTI1_0:
        .long    L1_0_set_3
        .long    L1_0_set_2


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43924 91177308-0d34-0410-b5e6-96231b3b80d8
2007-11-09 01:32:10 +00:00
..
ADT Implemented generic serialization of APFloat. 2007-11-07 18:39:22 +00:00
Analysis VAArgInst does, in fact, read memory. 2007-11-02 04:01:21 +00:00
Assembly More fleshing out of docs/Passes.html, plus some typo fixes and 2007-10-26 03:03:51 +00:00
Bitcode Updated Deserializer class to provide more information about the current 2007-11-09 00:43:51 +00:00
CodeGen Much improved pic jumptable codegen: 2007-11-09 01:32:10 +00:00
Config Regenerate. 2007-10-03 12:07:14 +00:00
Debugger
ExecutionEngine add a mechanism for the JIT to invoke a function to lazily create functions as they are referenced. 2007-10-22 02:50:12 +00:00
Support The guaranteed alignment of ptr+offset is only the minimum of 2007-10-28 12:59:45 +00:00
System Fix minor doxygen nits. 2007-08-05 20:06:04 +00:00
Target Much improved pic jumptable codegen: 2007-11-09 01:32:10 +00:00
Transforms Deleting redundant copy of block extractor pass. See also PR1775. 2007-11-05 01:54:05 +00:00
AbstractTypeUser.h
Argument.h
AutoUpgrade.h This is the patch to provide clean intrinsic function overloading support in LLVM. It cleans up the intrinsic definitions and generally smooths the process for more complicated intrinsic writing. It will be used by the upcoming atomic intrinsics as well as vector and float intrinsics in the future. 2007-08-04 01:51:18 +00:00
BasicBlock.h
CallGraphSCCPass.h
CallingConv.h
Constant.h
Constants.h Get rid of compilation warning during release builds 2007-11-01 08:24:40 +00:00
DerivedTypes.h Updated VC++ build system. 2007-10-17 14:56:40 +00:00
Function.h clarify precedence, no functionality change. 2007-08-20 21:31:08 +00:00
GlobalAlias.h
GlobalValue.h Change casts from old style to new style. This helps document the details 2007-08-12 08:12:35 +00:00
GlobalVariable.h
InlineAsm.h
InstrTypes.h Updated VC++ build system. 2007-10-17 14:56:40 +00:00
Instruction.def
Instruction.h
Instructions.h Updated VC++ build system. 2007-10-17 14:56:40 +00:00
IntrinsicInst.h
Intrinsics.h
Intrinsics.td [ARM] Implement __builtin_thread_pointer. 2007-11-08 17:20:05 +00:00
IntrinsicsARM.td [ARM] Implement __builtin_thread_pointer. 2007-11-08 17:20:05 +00:00
IntrinsicsPowerPC.td
IntrinsicsX86.td Add missing SSE builtins: CVTPD2PI, CVTPS2PI, 2007-10-30 22:15:38 +00:00
LinkAllPasses.h Remove RLE from the headers, since the pass itself is gone now. 2007-09-14 22:54:46 +00:00
LinkAllVMCore.h
Linker.h Fix minor doxygen nits. 2007-08-05 20:06:04 +00:00
LinkTimeOptimizer.h
Module.h Fixing an comment in Module.h that refers to a nonexistent parameter. 2007-09-18 02:09:34 +00:00
ModuleProvider.h
ParameterAttributes.h
Pass.h Allow passes to just pass up "FunctionPass(&ID)" instead of "FunctionPass((intptr_t)&ID)" 2007-10-08 03:45:44 +00:00
PassAnalysisSupport.h
PassManager.h remove unimplemented ctor, add some comments. 2007-10-25 05:19:24 +00:00
PassManagers.h Fix a using namespace llvm; in a header file. 2007-10-03 19:04:09 +00:00
PassSupport.h update comment. 2007-10-18 16:10:17 +00:00
SymbolTableListTraits.h Change casts from old style to new style. This helps document the details 2007-08-12 08:12:35 +00:00
Type.h Fix spelling. 2007-09-25 13:53:22 +00:00
TypeSymbolTable.h
Use.h Add a new use_iterator::atEnd() method, which allows us to shrink 2007-10-11 04:18:11 +00:00
User.h
Value.h add Value::getNameStart/getNameLen() accessors. 2007-08-10 15:34:35 +00:00
ValueSymbolTable.h