LLVM backend for 6502
Go to file
Hal Finkel 01a90f4f8f Use critical anti-dep. breaking on all PPC targets, but also add other register classes.
Using 'all' instead of 'critical' would be better because it would make it easier to
satisfy the bundling constraints, but, as noted in the FIXME, that is currently not
possible with the crs.

This yields an average 1% speedup over the entire test suite (on Power 7). Largest speedups:
SingleSource/Benchmarks/Shootout-C++/moments - 40%
MultiSource/Benchmarks/McCat/03-testtrie/testtrie - 28%
SingleSource/Benchmarks/BenchmarkGame/nsieve-bits - 26%
SingleSource/Benchmarks/McGill/misr - 23%
MultiSource/Applications/JM/ldecod/ldecod - 22%

Largest slowdowns:
SingleSource/Benchmarks/Shootout-C++/matrix - -29%
SingleSource/Benchmarks/Shootout-C++/ary3 - -22%
MultiSource/Benchmarks/BitBench/uuencode/uuencode - -18%
SingleSource/Benchmarks/Shootout-C++/ary - -17%
MultiSource/Benchmarks/MiBench/automotive-bitcount/automotive-bitcount - -15%

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@158294 91177308-0d34-0410-b5e6-96231b3b80d8
2012-06-10 11:15:36 +00:00
autoconf Remove the PTX back-end and all of its artifacts (triple, etc.) 2012-05-24 21:38:21 +00:00
bindings
cmake cmake: Pass the -m32 flag to modules if LLVM_BUILD_32_BITS is enabled 2012-06-08 09:41:23 +00:00
docs [llvm-nm] Update documentation to cover object file support and arguments. 2012-06-06 23:34:10 +00:00
examples Fix typos found by http://github.com/lyda/misspell-check 2012-06-02 10:20:22 +00:00
include Add intrinsics for immediate form of XOP vprot instructions. Use i128mem instead of f128mem for integer XOP instructions. 2012-06-10 07:31:56 +00:00
lib Use critical anti-dep. breaking on all PPC targets, but also add other register classes. 2012-06-10 11:15:36 +00:00
projects Remove the PTX back-end and all of its artifacts (triple, etc.) 2012-05-24 21:38:21 +00:00
runtime Small code cleanup. No functionality change. 2012-05-25 21:57:59 +00:00
test Improve ext/trunc patterns on PPC64. 2012-06-09 22:10:19 +00:00
tools [llvm-nm] Update documentation to cover object file support and arguments. 2012-06-06 23:34:10 +00:00
unittests Round 2 of dead private variable removal. 2012-06-06 19:47:08 +00:00
utils Sched itinerary fix: Avoid static initializers. 2012-06-08 18:25:47 +00:00
.gitignore
CMakeLists.txt Remove the PTX back-end and all of its artifacts (triple, etc.) 2012-05-24 21:38:21 +00:00
configure Remove the PTX back-end and all of its artifacts (triple, etc.) 2012-05-24 21:38:21 +00:00
CREDITS.TXT
LICENSE.TXT
llvm.spec.in
LLVMBuild.txt
Makefile
Makefile.common
Makefile.config.in
Makefile.rules
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 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.