LLVM backend for 6502
Go to file
Dan Gohman 30fc5bbfd1 Fix a bug which prevented tail merging of return instructions in
beneficial cases. See the changes in test/CodeGen/X86/tail-opts.ll and
test/CodeGen/ARM/ifcvt2.ll for details.

The fix is to change HashEndOfMBB to hash at most one instruction,
instead of trying to apply heuristics about when it will be profitable to
consider more than one instruction. The regular tail-merging heuristics
are already prepared to handle the same cases, and they're more precise.

Also, make test/CodeGen/ARM/ifcvt5.ll and
test/CodeGen/Thumb2/thumb2-branch.ll slightly more complex so that they
continue to test what they're intended to test.

And, this eliminates the problem in
test/CodeGen/Thumb2/2009-10-15-ITBlockBranch.ll, the testcase from
PR5204. Update it accordingly.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@102907 91177308-0d34-0410-b5e6-96231b3b80d8
2010-05-03 14:35:47 +00:00
autoconf Default OPTIMIZE_OPTION to -O2 on FreeBSD, at the request of the Clang/FreeBSD 2010-04-30 17:12:23 +00:00
bindings add attributes and module level asm to the ocaml bindings, 2010-04-10 17:52:58 +00:00
cmake Tell Valgrind when we modify already-executed machine code so it knows 2010-03-15 04:57:55 +00:00
docs Remove the -enable-sjlj-eh option, which doesn't do anything. 2010-05-02 15:36:26 +00:00
examples Remove the -enable-sjlj-eh option, which doesn't do anything. 2010-05-02 15:36:26 +00:00
include Remove the -enable-sjlj-eh option, which doesn't do anything. 2010-05-02 15:36:26 +00:00
lib Fix a bug which prevented tail merging of return instructions in 2010-05-03 14:35:47 +00:00
projects Testing subversion commit access 2010-02-23 15:11:17 +00:00
runtime Delete a blank line. 2010-04-16 13:32:55 +00:00
test Fix a bug which prevented tail merging of return instructions in 2010-05-03 14:35:47 +00:00
tools Remove the -enable-sjlj-eh option, which doesn't do anything. 2010-05-02 15:36:26 +00:00
unittests Update BitVectorTest.cpp to stay in sync with SmallBitVectorTest.cpp, 2010-04-30 20:50:28 +00:00
utils Add a pseudo instruction REG_SEQUENCE that takes a list of registers and 2010-05-01 00:28:44 +00:00
website
build-for-llvm-top.sh
CMakeLists.txt CMake: Add options for using static runtime on MSVC++ build. 2010-03-18 13:52:05 +00:00
configure Regenerate. 2010-04-30 17:12:26 +00:00
CREDITS.TXT Adding the MicroBlaze backend. 2010-02-23 19:15:24 +00:00
LICENSE.TXT
llvm.spec.in
Makefile Update for CIndex rename. 2010-04-30 23:36:47 +00:00
Makefile.common
Makefile.config.in Add an autoconf check for -retain-symbols-file and conditionalize 2010-04-16 22:58:15 +00:00
Makefile.rules Don't use 'else ifdef', I guess this is a 3.81 feature? 2010-04-30 22:00:17 +00:00
ModuleInfo.txt
README.txt Give packagers some advice about how to build LLVM so it's useful to 2010-02-26 00:54:42 +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.