LLVM backend for 6502
Go to file
Chandler Carruth fa97658b1c Begin chipping away at one of the biggest quadratic-ish behaviors in
this pass. We're leaving already merged blocks on the worklist, and
scanning them again and again only to determine each time through that
indeed they aren't viable. We can instead remove them once we're going
to have to scan the worklist. This is the easy way to implement removing
them. If this remains on the profile (as I somewhat suspect it will), we
can get a lot more clever here, as the worklist's order is essentially
irrelevant. We can use swapping and fold the two loops to reduce
overhead even when there are many blocks on the worklist but only a few
of them are removed.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@144531 91177308-0d34-0410-b5e6-96231b3b80d8
2011-11-14 09:46:33 +00:00
autoconf
bindings
cmake
docs Add clang_complete to release notes 2011-11-14 09:09:26 +00:00
examples
include Under the hood, MBPI is doing a linear scan of every successor every 2011-11-14 09:12:57 +00:00
lib Begin chipping away at one of the biggest quadratic-ish behaviors in 2011-11-14 09:46:33 +00:00
projects
runtime
test Fix an overflow bug in MachineBranchProbabilityInfo. This pass relied on 2011-11-14 08:50:16 +00:00
tools llvm-config-2: Detect when we are running out of a BuildTools development tree, so that we can always provide library/include information for the real build directory. 2011-11-11 22:59:47 +00:00
unittests
utils LLVMBuild: Add info for gtest. 2011-11-12 02:11:04 +00:00
.gitignore
CMakeLists.txt
configure
CREDITS.TXT
LICENSE.TXT
llvm.spec.in
LLVMBuild.txt
Makefile build/Make: Define a TARGET_NATIVE_ARCH variable to be a bit more precise than 2011-11-12 00:18:02 +00:00
Makefile.common
Makefile.config.in build/Make: Define a TARGET_NATIVE_ARCH variable to be a bit more precise than 2011-11-12 00:18:02 +00:00
Makefile.rules build/Make: Define a TARGET_NATIVE_ARCH variable to be a bit more precise than 2011-11-12 00:18:02 +00:00
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.