LLVM backend for 6502
Go to file
Ulrich Weigand 5e220753ff [PowerPC] Add assembler parser
This adds assembler parser support to the PowerPC back end.

The parser will run for any powerpc-*-* and powerpc64-*-* triples,
but was tested only on 64-bit Linux.  The supported syntax is
intended to be compatible with the GNU assembler.

The parser does not yet support all PowerPC instructions, but
it does support anything that is generated by LLVM itself.
There is no support for testing restricted instruction sets yet,
i.e. the parser will always accept any instructions it knows,
no matter what feature flags are given.

Instruction operands will be checked for validity and errors
generated.  (Error handling in general could still be improved.)

The patch adds a number of test cases to verify instruction
and operand encodings.  The tests currently cover all instructions
from the following PowerPC ISA v2.06 Book I facilities:
Branch, Fixed-point, Floating-Point, and Vector. 
Note that a number of these instructions are not yet supported
by the back end; they are marked with FIXME.

A number of follow-on check-ins will add extra features.  When
they are all included, LLVM passes all tests (including bootstrap)
when using clang -cc1as as the system assembler.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@181050 91177308-0d34-0410-b5e6-96231b3b80d8
2013-05-03 19:49:39 +00:00
autoconf Autoconf: Compile cxxabi.h in C++ mode. 2013-05-03 15:55:06 +00:00
bindings Exposing MCJIT through C API 2013-04-29 17:49:40 +00:00
cmake CMake: cxxabi.h is only available to C++ compilers, use the right check macro. 2013-05-03 14:48:29 +00:00
docs Remove comment that no target supports 128-bit IEEE floats 2013-05-03 14:32:27 +00:00
examples Add support for other typeinfo encodings in the ExceptionDemo. 2013-05-01 21:05:05 +00:00
include Add support for reading ARM ELF build attributes. 2013-05-03 11:36:35 +00:00
lib [PowerPC] Add assembler parser 2013-05-03 19:49:39 +00:00
projects remove cbe backend from sample configure 2013-04-24 02:17:19 +00:00
runtime Remove GCDAProfiling.c. This copy is old, the copy in compiler-rt is newer and 2013-03-07 02:03:08 +00:00
test [PowerPC] Add assembler parser 2013-05-03 19:49:39 +00:00
tools Add support for reading ARM ELF build attributes. 2013-05-03 11:36:35 +00:00
unittests This exposes more MCJIT options via the C API: 2013-05-01 22:58:00 +00:00
utils Try to fix ProgramTest on FreeBSD 2013-04-30 04:30:41 +00:00
.arcconfig Add .arcconfig to the repository. Useful if someone wants to use phabricator's command line tool. 2012-12-01 12:07:58 +00:00
.gitignore Add extra vim swap file pattern 2012-10-09 23:48:34 +00:00
CMakeLists.txt 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
CODE_OWNERS.TXT Fix random typo. 2013-04-17 03:18:49 +00:00
configure Autoconf: Compile cxxabi.h in C++ mode. 2013-05-03 15:55:06 +00:00
CREDITS.TXT Add myself in the CREDITS.TXT 2013-04-11 13:15:39 +00:00
LICENSE.TXT Add LICENSE.TXT covering contributions made by ARM. 2013-01-07 10:04:49 +00:00
llvm.spec.in Tidy up. s/Low Level Virtual Machine/LLVM/. 2012-01-25 22:00:23 +00:00
LLVMBuild.txt LLVMBuild: Introduce a common section which currently has a list of the 2011-12-12 22:45:54 +00:00
Makefile Improved svn repo searching for 'make update' 2013-01-28 03:19:57 +00:00
Makefile.common Makefile.common: Update a description, s/Source/SOURCES/ , according to MakefileGuide.html#control-variables . 2012-12-07 01:43:23 +00:00
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 We don't want FP elimination when doing an Apple-style build. 2013-05-02 21:09:03 +00:00
README.txt test 2013-04-17 05:34:03 +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 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.