LLVM backend for 6502
Go to file
Bob Wilson cc7052343e Avoid illegal integer promotion in fastisel
Stop folding constant adds into GEP when the type size doesn't match.
Otherwise, the adds' operands are effectively being promoted, changing the
conditions of an overflow.  Results are different when:

    sext(a) + sext(b) != sext(a + b)

Problem originally found on x86-64, but also fixed issues with ARM and PPC,
which used similar code.

<rdar://problem/15292280>

Patch by Duncan Exon Smith!

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@194840 91177308-0d34-0410-b5e6-96231b3b80d8
2013-11-15 19:09:27 +00:00
autoconf [autoconf] Prune "runtime" stuff in configure, corresponding to r191835. 2013-11-11 13:53:52 +00:00
bindings [OCaml] Add Target and TargetMachine bindings to Llvm_target 2013-11-15 02:51:57 +00:00
cmake Revert my CMake patches concerning building with /MT (r194589, r194596) 2013-11-13 20:29:10 +00:00
docs [NVPTX] Fix type in usage doc 2013-11-15 16:08:49 +00:00
examples Add missing #include's to cctype when using isdigit/alpha/etc. 2013-10-12 00:55:57 +00:00
include Avoid illegal integer promotion in fastisel 2013-11-15 19:09:27 +00:00
lib Avoid illegal integer promotion in fastisel 2013-11-15 19:09:27 +00:00
projects Revert "Revert "Windows: Add support for unicode command lines"" 2013-10-07 01:00:07 +00:00
test Avoid illegal integer promotion in fastisel 2013-11-15 19:09:27 +00:00
tools llvm-cov: Clean up memory leaks. 2013-11-15 09:44:17 +00:00
unittests Give unit test its own LLVMContext so MDNodes aren't leaked even if we never call llvm_shutdown. 2013-11-15 09:34:33 +00:00
utils Move all of the GoogleTest files back to the same locations they occupy 2013-11-15 10:20:45 +00:00
.arcconfig
.clang-format Add a clang-format file so that the tool can automatically detect the 2013-09-02 07:19:04 +00:00
.gitignore
CMakeLists.txt Revert my CMake patches concerning building with /MT (r194589, r194596) 2013-11-13 20:29:10 +00:00
CODE_OWNERS.TXT Update contact information. 2013-11-15 17:35:29 +00:00
configure [autoconf] Prune "runtime" stuff in configure, corresponding to r191835. 2013-11-11 13:53:52 +00:00
CREDITS.TXT Update contact information. 2013-11-15 17:35:29 +00:00
LICENSE.TXT Be more specific and capitalize filenames. 2013-05-21 21:22:34 +00:00
llvm.spec.in
LLVMBuild.txt Remove the very substantial, largely unmaintained legacy PGO 2013-10-02 15:42:23 +00:00
Makefile Remove the very substantial, largely unmaintained legacy PGO 2013-10-02 15:42:23 +00:00
Makefile.common
Makefile.config.in Add an autoconf option for turning on -gsplit-dwarf by default 2013-06-25 01:12:25 +00:00
Makefile.rules Teach the Makefile build system how to handle SOURCES which include 2013-11-14 23:51:29 +00:00
README.txt Revert "Test commit to check e-mail address. Please discard this." 2013-10-04 10:59:13 +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.