LLVM backend for 6502
Go to file
Bob Wilson ccd9bcca14 Clean up some problems with extra CFG edges being introduced during
if-conversion.  The RemoveExtraEdges function doesn't work for blocks that
end with unanalyzable branches, so in those cases, the "extra" edges must
be explicitly removed.  The CopyAndPredicateBlock and MergeBlocks methods
can also avoid copying successor edges due to branches that have already
been removed.  The latter case is especially helpful when MergeBlocks is
called for handling "diamond" if-conversions, where otherwise you can end
up with some weird intermediate states in the CFG.  Unfortunately I've
been unable to find cases where this cleanup actually makes a significant
difference in the code.  There is one test where we manage to remove an
empty block at the end of a function.  Radar 6911268.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106939 91177308-0d34-0410-b5e6-96231b3b80d8
2010-06-26 04:27:33 +00:00
autoconf Look for and use a different darwin crash reporter library. 2010-06-22 21:01:04 +00:00
bindings add attributes and module level asm to the ocaml bindings, 2010-04-10 17:52:58 +00:00
cmake Don't link against libm and libpthread which don't exist in BeOS/Haiku. Also, 2010-06-23 06:48:34 +00:00
docs Document problems that I encountered when working on -scev-aa. 2010-06-24 19:34:03 +00:00
examples fix several bugs in the tutorial, patch by Kevin Kelley! 2010-06-21 22:51:14 +00:00
include Don't track kills in VNInfo. Use interval ends instead. 2010-06-25 22:53:05 +00:00
lib Clean up some problems with extra CFG edges being introduced during 2010-06-26 04:27:33 +00:00
projects
runtime Delete a blank line. 2010-04-16 13:32:55 +00:00
test Clean up some problems with extra CFG edges being introduced during 2010-06-26 04:27:33 +00:00
tools Use ValueMap instead of DenseMap. 2010-06-24 00:33:28 +00:00
unittests ADT: Add DAGDeltaAlgorithm, which is a DAG minimization algorithm built on top of the standard 'delta debugging' algorithm. 2010-06-08 16:21:22 +00:00
utils Remove unused variables. 2010-06-25 09:35:33 +00:00
website
build-for-llvm-top.sh
CMakeLists.txt Fix LLVM CMake PACKAGE_VERSION variable. 2010-06-25 16:29:14 +00:00
configure Look for and use a different darwin crash reporter library. 2010-06-22 21:01:04 +00:00
CREDITS.TXT
LICENSE.TXT
llvm.spec.in
Makefile Update for CIndex rename. 2010-04-30 23:36:47 +00:00
Makefile.common
Makefile.config.in Delete unused variables (that weren't even getting expanded). 2010-06-01 17:26:14 +00:00
Makefile.rules Fix typo. 2010-06-21 23:49:08 +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.