LLVM backend for 6502
Go to file
Jakob Stoklund Olesen a9f65b9a1f Synthesize register classes for TRI::getMatchingSuperRegClass().
Teach TableGen to create the missing register classes needed for
getMatchingSuperRegClass() to return maximal results.  The function is
still not auto-generated, so it still returns inexact results.

This produces these new register classes:

ARM:
    QQPR_with_dsub_0_in_DPR_8
    QQQQPR_with_dsub_0_in_DPR_8
X86:
    GR64_with_sub_32bit_in_GR32_NOAX
    GR64_with_sub_32bit_in_GR32_NOAX_and_GR32_NOSP
    GR64_with_sub_16bit_in_GR16_NOREX
    GR64_with_sub_32bit_in_GR32_NOAX_and_GR32_NOREX
    GR64_TC_and_GR64_with_sub_32bit_in_GR32_NOAX
    GR64_with_sub_32bit_in_GR32_NOAX_and_GR32_NOREX_NOSP
    GR64_TCW64_and_GR64_with_sub_32bit_in_GR32_NOAX
    GR64_TC_and_GR64_with_sub_32bit_in_GR32_NOAX_and_GR32_NOREX
    GR64_with_sub_32bit_in_GR32_TC
    GR64_with_sub_32bit_in_GR32_ABCD_and_GR32_NOAX
    GR64_with_sub_32bit_in_GR32_NOAX_and_GR32_TC
    GR64_with_sub_32bit_in_GR32_AD
    GR64_with_sub_32bit_in_GR32_AD_and_GR32_NOAX

The other targets in the tree are not weird enough to be affected.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@146872 91177308-0d34-0410-b5e6-96231b3b80d8
2011-12-19 16:53:28 +00:00
autoconf capitalize project name, reference bugzilla 2011-12-18 18:50:16 +00:00
bindings LLVMBuild: Remove trailing newline, which irked me. 2011-12-12 19:48:00 +00:00
cmake Tweak CMake build on Cygwin. 2011-12-16 06:21:08 +00:00
docs The powers that be have decided that LLVM IR should now support 16-bit 2011-12-17 00:04:22 +00:00
examples LLVMBuild: Remove trailing newline, which irked me. 2011-12-12 19:48:00 +00:00
include Allow inlining of functions with returns_twice calls, if they have the 2011-12-18 20:35:43 +00:00
lib - Use getExitingBlock instead of getExitingBlocks. 2011-12-18 21:52:30 +00:00
projects Hexagon backend support 2011-12-12 21:14:40 +00:00
runtime LLVMBuild: Remove trailing newline, which irked me. 2011-12-12 19:48:00 +00:00
test Allow inlining of functions with returns_twice calls, if they have the 2011-12-18 20:35:43 +00:00
tools llvm-config: Fix --targets-built, I changed this to use the registry but wasn't 2011-12-16 00:04:43 +00:00
unittests As Doug pointed out (and I really should know), it is perfectly easy to 2011-12-17 10:20:15 +00:00
utils Synthesize register classes for TRI::getMatchingSuperRegClass(). 2011-12-19 16:53:28 +00:00
.gitignore git: Add tools/lldb to the ignore list. 2011-11-10 22:55:50 +00:00
CMakeLists.txt capitalize project name, reference bugzilla 2011-12-18 18:50:16 +00:00
configure Hexagon backend support 2011-12-12 21:14:40 +00:00
CREDITS.TXT CREDITS.TXT: Add a line. (test commit) 2011-10-29 23:42:14 +00:00
LICENSE.TXT
llvm.spec.in
LLVMBuild.txt LLVMBuild: Introduce a common section which currently has a list of the 2011-12-12 22:45:54 +00:00
Makefile llvm-config: Replace with C++ version (was llvm-config-2). 2011-12-01 20:18:09 +00:00
Makefile.common
Makefile.config.in capitalize project name, reference bugzilla 2011-12-18 18:50:16 +00:00
Makefile.rules Add a deterministic finite automaton based packetizer for VLIW architectures 2011-12-01 21:10:21 +00:00
README.txt Undo test commit 2011-11-22 20:05:48 +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.

If you're writing a package for LLVM, see docs/Packaging.html for our
suggestions.