LLVM backend for 6502
Go to file
Bill Schmidt b34c79e4bb Fix PR15155: lost vadd/vsplat optimization.
During lowering of a BUILD_VECTOR, we look for opportunities to use a
vector splat.  When the splatted value fits in 5 signed bits, a single
splat does the job.  When it doesn't fit in 5 bits but does fit in 6,
and is an even value, we can splat on half the value and add the result
to itself.

This last optimization hasn't been working recently because of improved
constant folding.  To circumvent this, create a pseudo VADD_SPLAT that
can be expanded during instruction selection.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@175632 91177308-0d34-0410-b5e6-96231b3b80d8
2013-02-20 15:50:31 +00:00
autoconf configure: remove workaround for gcc's -Wno-maybe-uninitialized 2013-02-13 21:19:39 +00:00
bindings [python] Add markup option to disassembler 2012-12-01 21:57:30 +00:00
cmake Use correct host/target CMake variables to define lit variables. 2013-02-14 16:49:32 +00:00
docs Spelling corrections 2013-02-18 02:44:09 +00:00
examples Update links to "Itanium C++ ABI: Exception Handling" document 2013-01-13 15:53:09 +00:00
include Whitespace. 2013-02-20 15:12:32 +00:00
lib Fix PR15155: lost vadd/vsplat optimization. 2013-02-20 15:50:31 +00:00
projects Set the deployment target for Apple llvmCore builds. <rdar://problem/12712431> 2013-02-05 17:29:03 +00:00
runtime Use 'RC_XBS' instead of 'RC_BUILDIT' to catch all times when it's built in the Apple way. 2013-02-13 19:44:08 +00:00
test Fix PR15155: lost vadd/vsplat optimization. 2013-02-20 15:50:31 +00:00
tools [llvm-readobj] Add ELF .dynamic table dumping. 2013-02-20 02:37:12 +00:00
unittests Move the SplatByte helper to APInt and generalize it a bit. 2013-02-20 13:00:06 +00:00
utils Fix for bug 15246 -- out-of-bound error in the TableGen backend, CodeGenMapTable.cpp. 2013-02-14 17:58:13 +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 Revert CMake version bump since we don't actually need 2.8.6 any more. 2013-02-18 11:53:37 +00:00
CODE_OWNERS.TXT Add myself as code owner of AArch64 backend. 2013-01-31 12:51:16 +00:00
configure configure: remove workaround for gcc's -Wno-maybe-uninitialized 2013-02-13 21:19:39 +00:00
CREDITS.TXT Update my email address. 2012-11-29 21:17:26 +00:00
LICENSE.TXT Add LICENSE.TXT covering contributions made by ARM. 2013-01-07 10:04:49 +00:00
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 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 Pass CPPFLAGS/CFLAGS/CXXFLAGS from the environment of configure to 2013-02-04 08:15:53 +00:00
Makefile.rules Use 'RC_XBS' instead of 'RC_BUILDIT' to catch all times when it's built in the Apple way. 2013-02-13 19:44:08 +00:00
README.txt Update README.txt to more accurately reflect reality. 2013-01-08 02:35:15 +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.