LLVM backend for 6502
Go to file
Jakob Stoklund Olesen 0613516b16 Implement the first half of LiveDebugVariables.
Scan the MachineFunction for DBG_VALUE instructions, and replace them with a
data structure similar to LiveIntervals. The live range of a DBG_VALUE is
determined by propagating it down the dominator tree until a new DBG_VALUE is
found. When a DBG_VALUE lives in a register, its live range is confined to the
live range of the register's value.

LiveDebugVariables runs before coalescing, so DBG_VALUEs are not artificially
extended when registers are joined.

The missing half will recreate DBG_VALUE instructions from the intervals when
register allocation is complete.

The pass is disabled by default. It can be enabled with the temporary command
line option -live-debug-variables.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@120636 91177308-0d34-0410-b5e6-96231b3b80d8
2010-12-02 00:37:37 +00:00
autoconf
bindings
cmake
docs forbid rtti and exceptions 2010-11-30 19:20:40 +00:00
examples
include Implement the first half of LiveDebugVariables. 2010-12-02 00:37:37 +00:00
lib Implement the first half of LiveDebugVariables. 2010-12-02 00:37:37 +00:00
projects
runtime
test Fix and re-enable tail call optimization of expanded libcalls. 2010-12-01 22:59:46 +00:00
tools Add hiddent command line option, as an debugging aid, to disable .loc use. 2010-12-01 15:36:49 +00:00
unittests Make valgrind happy. 2010-12-01 22:28:42 +00:00
utils Avoid "char" for Neon vector elements; make it explicitly signed (or unsigned). 2010-12-02 00:24:59 +00:00
website
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.