LLVM backend for 6502
Go to file
Lang Hames 3d478aee8e Return early from getUnconditionalBranchTargetOpValue if the branch target is
an MCExpr, in order to avoid writing an encoded zero value in the immediate
field.

When getUnconditionalBranchTargetOpValue is called with an MCExpr target, we
don't know what the final immediate field value should be. We shouldn't
explicitly set the immediate field to an encoded zero value as zero is encoded
with a non-zero bit pattern. This leads to bits being set that pollute the
final immediate value. The nature of the encoding is such that the polluted
bits only affect very large immediate values, explaining why this hasn't
caused problems earlier.

Fixes <rdar://problem/15155975>.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@193535 91177308-0d34-0410-b5e6-96231b3b80d8
2013-10-28 20:51:11 +00:00
autoconf Update so that it uses the `-V' command line option and supports Python 3.x. 2013-10-12 08:42:59 +00:00
bindings
cmake Remove NDBEUG from all release types compile flags. 2013-10-19 07:30:37 +00:00
docs A small grammar-os fixed. 2013-10-27 05:09:12 +00:00
examples Add missing #include's to cctype when using isdigit/alpha/etc. 2013-10-12 00:55:57 +00:00
include [arm] Implement eabi_attribute, cpu, and fpu directives. 2013-10-28 17:51:12 +00:00
lib Return early from getUnconditionalBranchTargetOpValue if the branch target is 2013-10-28 20:51:11 +00:00
projects Revert "Revert "Windows: Add support for unicode command lines"" 2013-10-07 01:00:07 +00:00
test Return early from getUnconditionalBranchTargetOpValue if the branch target is 2013-10-28 20:51:11 +00:00
tools MCJIT-remote: __main should be resolved in child context. 2013-10-27 10:22:52 +00:00
unittests DIEHash: Summary hashing of member functions 2013-10-25 20:04:25 +00:00
utils TableGen: remove unused variable. 2013-10-28 18:19:04 +00:00
.arcconfig
.clang-format
.gitignore
CMakeLists.txt CMake: set stack size for MSVC in just one place 2013-10-17 18:39:47 +00:00
CODE_OWNERS.TXT
configure Update so that it uses the `-V' command line option and supports Python 3.x. 2013-10-12 08:42:59 +00:00
CREDITS.TXT Update. 2013-09-27 20:40:40 +00:00
LICENSE.TXT
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
Makefile.rules
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.