LLVM backend for 6502
Go to file
Jakob Stoklund Olesen 84315f03cb Preserve 2-addr constraints in ConnectedVNInfoEqClasses.
When a live range splits into multiple connected components, we would
arbitrarily assign <undef> uses to component 0. This is wrong when the
use is tied to a def that gets assigned to a different component:

  %vreg69<def> = ADD8ri %vreg68<undef>, 1

The use and def must get the same virtual register.

Fix this by assigning <undef> uses to the same component as the value
defined by the instruction, if any:

  %vreg69<def> = ADD8ri %vreg69<undef>, 1

This fixes PR13402. The PR has a test case which I am not including
because it is unlikely to keep exposing this behavior in the future.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@160739 91177308-0d34-0410-b5e6-96231b3b80d8
2012-07-25 17:15:15 +00:00
autoconf Fix a typo (the the => the) 2012-07-23 08:51:15 +00:00
bindings Remove tabs. 2012-07-19 00:23:13 +00:00
cmake autoconf: Re-introduce LLVM_HOSTTRIPLE since r143500, as rework of PR11060. 2012-07-22 03:04:52 +00:00
docs Twine: fix link to source, add link to class doc and container section. 2012-07-25 13:46:11 +00:00
examples Move llvm/Support/IRBuilder.h -> llvm/IRBuilder.h 2012-06-29 12:38:19 +00:00
include make all Emit*() functions consult the TargetLibraryInfo information before creating a call to a library function. 2012-07-25 16:46:31 +00:00
lib Preserve 2-addr constraints in ConnectedVNInfoEqClasses. 2012-07-25 17:15:15 +00:00
projects Fix a typo (the the => the) 2012-07-23 08:51:15 +00:00
runtime Free the allocated filename. Found by clang static analyzer. 2012-06-15 09:11:47 +00:00
test When a return struct pointer is passed in registers, the called has nothing 2012-07-25 13:41:10 +00:00
tools Fix a typo (the the => the) 2012-07-23 08:51:15 +00:00
unittests make ConstantRange::zeroExtend() optimal 2012-07-23 20:33:29 +00:00
utils Fix a "Bad fd number" error on some platforms due to a less portable 2012-07-23 20:54:17 +00:00
.gitignore Add tools/lld to .gitignore. 2012-05-02 21:25:32 +00:00
CMakeLists.txt Revert "Build script changes for R600/SI Codegen v6" 2012-07-16 18:19:46 +00:00
configure autoconf: Re-introduce LLVM_HOSTTRIPLE since r143500, as rework of PR11060. 2012-07-22 03:04:52 +00:00
CREDITS.TXT Alphabetize. 2012-06-19 23:47:58 +00:00
LICENSE.TXT Add YAML parser to Support. 2012-04-03 23:09:22 +00:00
llvm.spec.in Tidy up. s/Low Level Virtual Machine/LLVM/. 2012-01-25 22:00:23 +00:00
LLVMBuild.txt LLVMBuild: Introduce a common section which currently has a list of the 2011-12-12 22:45:54 +00:00
Makefile Do not install llvm-config-host for cross-builds of clang. rdar://11317847 2012-05-09 00:07:02 +00:00
Makefile.common [docs] Remove unsupported references to ExtraSource variable. 2012-05-15 21:32:27 +00:00
Makefile.config.in Remove autoconf support for runtest and tclsh, some of the last vestigal 2012-06-27 23:53:41 +00:00
Makefile.rules Remove 'check-dg', a wrapper around 'check-local-dg' which was just 2012-06-28 00:03:13 +00:00
README.txt test commit 2012-07-11 17:34:12 +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 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.