LLVM backend for 6502
Go to file
Jakob Stoklund Olesen 1c062c24ab Fix -widen-vmovs liveness issues.
When widening a copy, we are reading a larger register that may not be
live.  Use an <undef> flag to tell the register scavenger and machine
code verifier that we know the value isn't defined.

We now widen:

  %S6<def> = COPY %S4<kill>, %D3<imp-def>

into:

  %D3<def> = VMOVD %D2<undef>, pred:14, pred:%noreg, %S4<imp-use,kill>

This also keeps the <kill> flag on %S4 so we don't inadvertently kill a
live value in %S5.

Finally, ensure that ARMBaseInstrInfo::setExecutionDomain() preserves
the <undef> flag when converting VMOVD to VORR.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@141746 91177308-0d34-0410-b5e6-96231b3b80d8
2011-10-12 00:06:23 +00:00
autoconf
bindings ocaml/C bindings: type->isSized() 2011-10-06 12:13:28 +00:00
cmake Add -D__STDC_FORMAT_MACROS to use PRIx64. 2011-10-11 12:51:44 +00:00
docs target data is a contract with the code generator, not the "processor" 2011-10-11 23:02:17 +00:00
examples
include Use public accessors on the scope that is returned. 2011-10-11 23:19:35 +00:00
lib Fix -widen-vmovs liveness issues. 2011-10-12 00:06:23 +00:00
projects
runtime Include direct.h for _mkdir on mingw32 too. 2011-10-08 15:49:19 +00:00
test Fix -widen-vmovs liveness issues. 2011-10-12 00:06:23 +00:00
tools llvm-objdump.cpp: Use PRIx64 as format specifier for int64_t. 2011-10-11 12:51:50 +00:00
unittests Fix APInt::operator*= so that it computes the correct result for large integers where there is unsigned overflow. Fix APFloat::toString so that it doesn't depend on the incorrect behavior in common cases (and computes the correct result in some rare cases). Fixes PR11086. 2011-10-07 23:40:49 +00:00
utils Remove extra semicolon. 2011-10-11 19:53:40 +00:00
.gitignore
build-for-llvm-top.sh
CMakeLists.txt Build system infrastructure for multiple tblgens. 2011-10-06 01:51:51 +00:00
configure We're no longer going to bother supporting platforms that don't 2011-09-23 00:53:10 +00:00
CREDITS.TXT
LICENSE.TXT
llvm.spec.in
Makefile Add clang-tblgen to OPTIONAL_DIRS when building native tools for the 2011-10-08 00:27:38 +00:00
Makefile.common
Makefile.config.in
Makefile.rules Add -D__STDC_FORMAT_MACROS to use PRIx64. 2011-10-11 12:51:44 +00:00
ModuleInfo.txt
README.txt

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.