LLVM backend for 6502
Go to file
Sanjay Patel cf9661c6f9 Fix a logic bug in x86 vector codegen: sext (zext (x) ) != sext (x) (PR20472).
Remove a block of code from LowerSIGN_EXTEND_INREG() that was added with:
http://llvm.org/viewvc/llvm-project?view=revision&revision=177421

And caused:
http://llvm.org/bugs/show_bug.cgi?id=20472 (more analysis here)
http://llvm.org/bugs/show_bug.cgi?id=18054

The testcases confirm that we (1) don't remove a zext op that is necessary and (2) generate
a pmovz instead of punpck if SSE4.1 is available. Although pmovz is 1 byte longer, it allows 
folding of the load, and so saves 3 bytes overall.

Differential Revision: http://reviews.llvm.org/D4909



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@216679 91177308-0d34-0410-b5e6-96231b3b80d8
2014-08-28 18:59:22 +00:00
autoconf Delete support for AuroraUX. 2014-08-14 15:15:09 +00:00
bindings [OCaml] Expose Llvm.get_operand_use. 2014-08-12 02:55:45 +00:00
cmake cmake: actually test -Wcomment 2014-08-23 21:10:58 +00:00
docs Declare that musttail calls in variadic functions forward the ellipsis 2014-08-26 00:33:28 +00:00
examples Modernize raw_fd_ostream's constructor a bit. 2014-08-25 18:16:47 +00:00
include [FastISel] Undo phi node updates when falling-back to SelectionDAG. 2014-08-28 02:06:55 +00:00
lib Fix a logic bug in x86 vector codegen: sext (zext (x) ) != sext (x) (PR20472). 2014-08-28 18:59:22 +00:00
projects [cmake] Use the external project machinery for libcxxabi so that it can 2014-07-25 10:27:40 +00:00
test Fix a logic bug in x86 vector codegen: sext (zext (x) ) != sext (x) (PR20472). 2014-08-28 18:59:22 +00:00
tools Don't create a MemoryBuffer just to get the MemoryBufferRef. NFC. 2014-08-27 20:25:55 +00:00
unittests Convert a few more cases of direct intialization of unique_ptrs from MemoryBuffer::getMemBuffer to move initialization now that it returns by unique_ptr instead of raw pointer. 2014-08-27 20:14:18 +00:00
utils Return a std::unique_ptr when creating a new MemoryBuffer. 2014-08-27 20:03:13 +00:00
.arcconfig Updated phabricator server. 2014-04-07 03:57:04 +00:00
.clang-format Test commit. 2014-03-02 13:08:46 +00:00
.gitignore Add Polly to the ignored trees. 2014-06-25 13:13:36 +00:00
CMakeLists.txt Fix building with in-tree libc++abi on FreeBSD 2014-08-01 19:23:15 +00:00
CODE_OWNERS.TXT Add a sentence that all entries should include an email address. 2014-08-04 19:33:25 +00:00
configure Delete support for AuroraUX. 2014-08-14 15:15:09 +00:00
CREDITS.TXT Rise from the dead and update personal info 2014-08-25 17:51:04 +00:00
LICENSE.TXT Remove projects/sample. 2014-03-12 22:40:22 +00:00
llvm.spec.in
LLVMBuild.txt Remove the very substantial, largely unmaintained legacy PGO 2013-10-02 15:42:23 +00:00
Makefile [configure/make] Propagate names of build host tools when making BuildTools 2014-03-25 21:45:41 +00:00
Makefile.common
Makefile.config.in Track clang r213171 2014-07-16 16:50:34 +00:00
Makefile.rules Delete support for AuroraUX. 2014-08-14 15:15:09 +00:00
README.txt Trivial test commit. 2014-04-26 19:05:45 +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.