LLVM backend for 6502
Go to file
Bob Wilson 8308e8fae0 Revert a portion of Dan's change r71018 that I'm convinced is wrong.
Dan was trying to catch the case where a basic block ends with a conditional
branch to the fall-through block.  In this case, all the instructions have
been moved out of FromBBI, leaving it empty.  It cannot end with a
conditional branch.  As the existing comment indicates, it will always fall
through to the next block.  If the block already had the next block (NBB)
listed as a successor, the preceding loop has a check for that and does not
remove it.  Thus, we need to check and add the successor only when it is
not already listed.

With Dan's change, the empty block often ends up with the fall-through
successor listed twice.  This exposed the problem in pr4195, where
CodePlacementOpt did not handle the same predecessor listed more than once.
It is also at least partially responsible for pr4202 and probably a similar
issue with Thumb branches being out of range.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@71742 91177308-0d34-0410-b5e6-96231b3b80d8
2009-05-13 23:48:58 +00:00
autoconf Fix typo. 2009-05-13 13:13:18 +00:00
bindings Rename PaddedSize to AllocSize, in the hope that this 2009-05-09 07:06:46 +00:00
cmake Add terminal width detection to llvm::sys::Process. This is needed to 2009-05-11 18:05:52 +00:00
docs Change MachineInstrBuilder::addReg() to take a flag instead of a list of 2009-05-13 21:33:08 +00:00
examples silence a warning. 2009-04-15 00:16:05 +00:00
include Run code placement optimization for targets that want it (arm and x86 for now). 2009-05-13 21:42:09 +00:00
lib Revert a portion of Dan's change r71018 that I'm convinced is wrong. 2009-05-13 23:48:58 +00:00
projects
runtime
test Add nounwind to this test. 2009-05-13 22:29:12 +00:00
tools The 'forward_as' property did not use its second argument. 2009-05-06 01:41:19 +00:00
unittests Make MDNode use CallbackVH. Also change MDNode to store Value* instead of 2009-05-10 20:57:05 +00:00
utils Slightly improve generated code in a degenerate case. 2009-05-12 22:32:29 +00:00
website
win32
Xcode
build-for-llvm-top.sh
CMakeLists.txt CMake: Added notes pointing to the LLVM CMake documentation. 2009-04-04 22:52:02 +00:00
configure Fix typo. 2009-05-13 13:13:18 +00:00
CREDITS.TXT Initial test commit 2009-04-28 06:15:00 +00:00
LICENSE.TXT
llvm.spec.in
Makefile Change 'make install' to install tblgen, for better support of out-of-tree targets, 2009-05-08 17:32:47 +00:00
Makefile.common
Makefile.config.in Add a --enable-profiling option to configure to build Debug+Profile and 2009-04-17 14:49:22 +00:00
Makefile.rules Allow client Makefiles control over whether they want -pedantic by 2009-05-12 07:26:49 +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.