LLVM backend for 6502
Go to file
Bill Wendling b1ec31d711 The jump table was being generated before the end label for exception handling
was generated. This caused code like this:

## The asm code for the function
        .section        __TEXT,__const
        .align  2
lJTI11_0:
LJTI11_0:
        .long    LBB11_16
        .long    LBB11_4
        .long    LBB11_5
        .long    LBB11_6
        .long    LBB11_7
        .long    LBB11_8
        .long    LBB11_9
        .long    LBB11_10
        .long    LBB11_11
        .long    LBB11_12
        .long    LBB11_13
        .long    LBB11_14
Leh_func_end11:   ## <---now in the wrong section!

The `Leh_func_end11' would then end up in the wrong section, causing the
resulting EH frame information to be wrong:

__ZL11CheckRightsjPKcbRbRP6NSData.eh:
    .set    Lset500eh,Leh_frame_end11-Leh_frame_begin11
    .long   Lset500eh  ; Length of Frame Information Entry                                                                                                                   
Leh_frame_begin11:
    .long   Leh_frame_begin11-Leh_frame_common
    .long   Leh_func_begin11-.
    .set    Lset501eh,Leh_func_end11-Leh_func_begin11
    .long   Lset501eh                                   ; FDE address range                                                                                                                                   
`Lset501eh' is now something huge instead of the real value.

The X86 back-end generates the jump table after the EH information is
emitted. Do the same here.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86588 91177308-0d34-0410-b5e6-96231b3b80d8
2009-11-09 21:20:14 +00:00
autoconf configure: Add --with-optimize-option, for setting the default value of 2009-11-04 04:32:50 +00:00
bindings Expose the rest of the attribute settings. 2009-09-28 04:42:47 +00:00
cmake CMake: Detect gv, circo, twopi, neato, fdo, dot and dotty. 2009-11-09 15:26:40 +00:00
docs The inbounds keyword isn't relevant to overindexing of 2009-11-09 19:01:53 +00:00
examples Re-commit r86077 now that r86290 fixes the 179.art and 175.vpr ARM regressions. 2009-11-07 00:16:28 +00:00
include Print "..." instead of all the uninteresting register clobbers on call 2009-11-09 19:38:45 +00:00
lib The jump table was being generated before the end label for exception handling 2009-11-09 21:20:14 +00:00
projects Move DataTypes.h to include/llvm/System, update all users. This breaks the last 2009-10-26 01:35:46 +00:00
runtime OptimalEdgeProfiling: Creation of profiles. 2009-09-01 19:03:44 +00:00
test Default-addressspace null pointers don't alias anything. This allows 2009-11-09 19:29:11 +00:00
tools Stop running get_target_triple more than we need to. 2009-11-07 23:52:20 +00:00
unittests Fix the ModuleDeletion test on PPC and ARM. 2009-10-28 00:28:31 +00:00
utils Add a 'zkill' script, which is more-or-less a fancy (although not necessarily 2009-11-08 21:51:53 +00:00
website
Xcode
build-for-llvm-top.sh
CMakeLists.txt Prevent warning spew about -fPIC when using CMake generated Xcode project files. 2009-11-08 00:34:22 +00:00
configure configure: Add --with-optimize-option, for setting the default value of 2009-11-04 04:32:50 +00:00
CREDITS.TXT
LICENSE.TXT Add regular expression matching support, based on OpenBSD regexec()/regcomp() 2009-08-30 08:24:09 +00:00
llvm.spec.in
Makefile When cross-building, the CFLAGS and CXXFLAGS are for the target, and don't 2009-10-30 19:53:38 +00:00
Makefile.common
Makefile.config.in configure: Add --with-optimize-option, for setting the default value of 2009-11-04 04:32:50 +00:00
Makefile.rules configure: Add --with-optimize-option, for setting the default value of 2009-11-04 04:32:50 +00:00
ModuleInfo.txt
README.txt First test commit 2009-10-05 22:29:11 +00:00

Low Level Virtual Machine (LLVM)
================================

This directory and its subdirectories contain source code for the Low Level
Virtual Machine, a toolkit for the construction of highly optimized compilers,
optimizers, and runtime environments.

LLVM is open source software. You may freely distribute it under the terms of
the license agreement found in LICENSE.txt.

Please see the HTML documentation provided in docs/index.html for further
assistance with LLVM.