llvm-6502/utils
Jakob Stoklund Olesen 7e56831a68 Synthesize missing register class intersections.
The function TRI::getCommonSubClass(A, B) returns the largest common
sub-class of the register classes A and B.  This patch teaches TableGen
to synthesize sub-classes such that the answer is always maximal.

In other words, every register that is in both A and B will also be
present in getCommonSubClass(A, B).

This introduces these synthetic register classes:

ARM:
    GPRnopc_and_hGPR
    GPRnopc_and_hGPR
    hGPR_and_rGPR
    GPRnopc_and_hGPR
    GPRnopc_and_hGPR
    hGPR_and_rGPR
    tGPR_and_tcGPR
    hGPR_and_tcGPR

X86:
    GR32_NOAX_and_GR32_NOSP
    GR32_NOAX_and_GR32_NOREX
    GR64_NOSP_and_GR64_TC
    GR64_NOSP_and_GR64_TC
    GR64_NOREX_and_GR64_TC
    GR32_NOAX_and_GR32_NOSP
    GR32_NOAX_and_GR32_NOREX
    GR32_NOAX_and_GR32_NOREX_NOSP
    GR64_NOSP_and_GR64_TC
    GR64_NOREX_and_GR64_TC
    GR64_NOREX_NOSP_and_GR64_TC
    GR32_NOAX_and_GR32_NOSP
    GR32_NOAX_and_GR32_NOREX
    GR32_NOAX_and_GR32_NOREX_NOSP
    GR32_ABCD_and_GR32_NOAX
    GR32_NOAX_and_GR32_NOSP
    GR32_NOAX_and_GR32_NOREX
    GR32_NOAX_and_GR32_NOREX_NOSP
    GR32_ABCD_and_GR32_NOAX
    GR32_NOAX_and_GR32_TC
    GR32_NOAX_and_GR32_NOSP
    GR64_NOSP_and_GR64_TC
    GR32_NOAX_and_GR32_NOREX
    GR32_NOAX_and_GR32_NOREX_NOSP
    GR64_NOREX_and_GR64_TC
    GR64_NOREX_NOSP_and_GR64_TC
    GR32_ABCD_and_GR32_NOAX
    GR64_ABCD_and_GR64_TC
    GR32_NOAX_and_GR32_TC
    GR32_AD_and_GR32_NOAX

Other targets are unaffected.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@146657 91177308-0d34-0410-b5e6-96231b3b80d8
2011-12-15 16:48:55 +00:00
..
bugpoint
buildit Install llvmCore to /usr/local. <rdar://problem/10390708> 2011-11-29 06:11:56 +00:00
count Put targets on folders, if the IDE supports the feature. 2011-02-20 22:06:10 +00:00
crosstool
emacs Remove Multidefs 2011-10-07 18:25:05 +00:00
FileCheck Make SMDiagnostic a little more sane. Instead of passing around note/warning/error as a 2011-10-16 05:43:57 +00:00
FileUpdate Put targets on folders, if the IDE supports the feature. 2011-02-20 22:06:10 +00:00
fpcmp Merge System into Support. 2010-11-29 18:16:10 +00:00
git
jedit
kate
KillTheDoctor Fix a ton of comment typos found by codespell. Patch by 2011-04-15 05:18:47 +00:00
lint
lit lit/TestRunner.py: Try to catch ERROR_FILE_NOT_FOUND, too. 2011-11-29 06:40:50 +00:00
llvm-build llvm-build: Switch to using the common subdirectory list instead of 2011-12-12 22:45:59 +00:00
llvm-lit Use $(ECHOPATH) to make llvm-lit from llvm-lit.in. 2011-03-08 12:25:19 +00:00
Misc
not Put targets on folders, if the IDE supports the feature. 2011-02-20 22:06:10 +00:00
PerfectShuffle In r131488 I misunderstood how VREV works. It splits the vector in half and splits each half. Therefore, the real problem was that we were using a VREV64 for a 4xi16, when we should have been using a VREV32. 2011-05-18 06:42:21 +00:00
release Support a 'final' release candidate tag. 2011-11-28 11:45:10 +00:00
TableGen Synthesize missing register class intersections. 2011-12-15 16:48:55 +00:00
Target/ARM McARM: Write a silly Python script to compute some hard coded info from the 2011-01-11 19:06:26 +00:00
unittest build/CMake: Finish removal of add_llvm_library_dependencies. 2011-11-29 19:25:30 +00:00
valgrind valgrind: Suppress glibc's optiized strcasecmp harder. 2011-09-03 17:59:31 +00:00
vim Remove Multidefs 2011-10-07 18:25:05 +00:00
check-each-file
clang-parse-diagnostics-file Rename show-diagnostics to something less ambiguous. 2011-11-02 00:44:16 +00:00
codegen-diff
countloc.sh
DSAclean.py
DSAextract.py Fix a ton of comment typos found by codespell. Patch by 2011-04-15 05:18:47 +00:00
findmisopt
findoptdiff
findsym.pl
GenLibDeps.pl Fix typo in generated HTML. 2011-03-31 00:23:57 +00:00
GetRepositoryPath
GetSourceVersion
getsrcs.sh
llvm-compilers-check utils: Rename the "llvmbuild" script to llvm-compilers-check. 2011-11-04 01:09:02 +00:00
llvm-native-gcc
llvm-native-gxx
llvm.grm Remove last references to hotpatch. 2011-10-04 03:08:43 +00:00
LLVMBuild.txt LLVMBuild: Introduce a common section which currently has a list of the 2011-12-12 22:45:54 +00:00
llvmdo
llvmgrep
Makefile
makellvm
NewNightlyTest.pl Fix a ton of comment typos found by codespell. Patch by 2011-04-15 05:18:47 +00:00
profile.pl Rename profile_rt.so to libprofile_rt.so under configure+make (it already was 2011-04-29 02:12:06 +00:00
test_debuginfo.pl
UpdateCMakeLists.pl