LLVM backend for 6502
Go to file
Jakob Stoklund Olesen 1744e476ec Extend live debug values down the dominator tree by following copies.
The llvm.dbg.value intrinsic refers to SSA values, not virtual registers, so we
should be able to extend the range of a value by tracking that value through
register copies. This greatly improves the debug value tracking for function
arguments that for some reason are copied to a second virtual register at the
end of the entry block.

We only extend the debug value range where its register is killed. All original
llvm.dbg.value locations are still respected.

Copies from physical registers are ignored. That should not be a problem since
the entry block already adds DBG_VALUE instructions for the virtual registers
holding the function arguments.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@127912 91177308-0d34-0410-b5e6-96231b3b80d8
2011-03-18 21:42:19 +00:00
autoconf
bindings
cmake
docs Some release notes. 2011-03-18 04:07:44 +00:00
examples
include Avoid creating canonical induction variables for non-native types. 2011-03-18 16:50:32 +00:00
lib Extend live debug values down the dominator tree by following copies. 2011-03-18 21:42:19 +00:00
projects
runtime
test Revert r127852; it's apparently causing an ICE on mingw. 2011-03-18 21:12:29 +00:00
tools Use lazy parsing in LTO. Unfortunately this is only a 3% time saving for 2011-03-18 19:51:00 +00:00
unittests
utils Thumb2 PC-relative loads require a fixup rather than just an immediate. 2011-03-18 17:42:55 +00:00
website
.gitignore
build-for-llvm-top.sh
CMakeLists.txt
configure
CREDITS.TXT
LICENSE.TXT
llvm.spec.in
Makefile
Makefile.common
Makefile.config.in
Makefile.rules
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.