LLVM backend for 6502
Go to file
Bill Schmidt d35da5055b Recognize ValueType operands in source patterns for fast-isel.
Currently the fast-isel table generator recognizes registers, register
classes, and immediates for source pattern operands.  ValueType
operands are not recognized.  This is not a problem for existing
targets with fast-isel support, but will not work for targets like
PowerPC and SPARC that use types in source patterns.

The proposed patch allows ValueType operands and treats them in the
same manner as register classes.  There is no convenient way to map
from a ValueType to a register class, but there's no need to do so.
The table generator already requires that all types in the source
pattern be identical, and we know the register class of the output
operand already.  So we just assign that register class to any
ValueType operands we encounter.

No functional effect on existing targets.  Testing deferred until the
PowerPC target implements fast-isel.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@182512 91177308-0d34-0410-b5e6-96231b3b80d8
2013-05-22 20:45:11 +00:00
autoconf Make R600 non-experimental. 2013-05-22 00:35:47 +00:00
bindings We're in 3.4 land now. 2013-05-07 20:31:28 +00:00
cmake [SystemZ] Add configure bits 2013-05-06 16:22:34 +00:00
docs Fix typo in docs/GettingStarted.rst. 2013-05-22 18:09:39 +00:00
examples ExceptionDemo: Corresponding to r181820, SectionMemoryManager should belong to RTDyldMemoryManager. 2013-05-14 23:05:00 +00:00
include Remove unneeded call to a base default ctor 2013-05-22 19:07:26 +00:00
lib Change some PowerPC PatLeaf definitions to ImmLeaf for fast-isel. 2013-05-22 20:09:24 +00:00
projects sync projects/sample's autohell. 2013-05-22 12:37:27 +00:00
runtime
test SLPVectorizer: Change the order in which new instructions are added to the function. 2013-05-22 19:47:32 +00:00
tools Use std::list so that we have a stable iterator. 2013-05-21 18:53:50 +00:00
unittests Expose the RTDyldMemoryManager through the C API. This allows clients of 2013-05-22 02:46:43 +00:00
utils Recognize ValueType operands in source patterns for fast-isel. 2013-05-22 20:45:11 +00:00
.arcconfig
.gitignore
CMakeLists.txt Allow duplicates in LLVM_TARGETS_TO_BUILD and LLVM_EXPERIMENTAL_TARGETS_TO_BUILD. 2013-05-22 02:45:28 +00:00
CODE_OWNERS.TXT Add myself as SystemZ code owner 2013-05-08 14:41:29 +00:00
configure Make R600 non-experimental. 2013-05-22 00:35:47 +00:00
CREDITS.TXT Test commit. 2013-05-09 12:32:36 +00:00
LICENSE.TXT Be more specific and capitalize filenames. 2013-05-21 21:22:34 +00:00
llvm.spec.in
LLVMBuild.txt
Makefile
Makefile.common
Makefile.config.in Add basic zlib support to LLVM. This would allow to use compression/uncompression in selected LLVM tools. 2013-04-23 08:28:39 +00:00
Makefile.rules Revert previous patch, it's actually on under Wall. 2013-05-14 21:52:01 +00:00
README.txt

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 documentation provided in docs/ for further
assistance with LLVM, and in particular docs/GettingStarted.rst for getting
started with LLVM and docs/README.txt for an overview of LLVM's
documentation setup.

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