LLVM backend for 6502
Go to file
Chandler Carruth 797bbced53 [LCG] Rotate the full SCC finding algorithm to avoid round-trips through
the DFS stack for leaves in the call graph. As mentioned in my previous
commit, this is particularly interesting for graphs which have high fan
out but low connectivity resulting in many leaves. For such graphs, this
can remove a large % of the DFS stack traffic even though it doesn't
make the stack much smaller.

It's a bit easier to formulate this for the full algorithm because that
one stops completely for each SCC. For example, I was able to directly
eliminate the "Recurse" boolean used to continue an outer loop from the
inner loop.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@207311 91177308-0d34-0410-b5e6-96231b3b80d8
2014-04-26 09:28:00 +00:00
autoconf
bindings [python] Fix getting section contents. 2014-04-25 06:25:15 +00:00
cmake Added Sphinx documentation generation to CMake build system. 2014-04-18 21:45:25 +00:00
docs Add 'musttail' marker to call instructions 2014-04-24 20:14:34 +00:00
examples
include [LCG] Hoist the main DFS loop out of the edge removal function. This 2014-04-26 09:06:53 +00:00
lib [LCG] Rotate the full SCC finding algorithm to avoid round-trips through 2014-04-26 09:28:00 +00:00
projects
test RecursivelyDeleteTriviallyDeadInstructions() could remove 2014-04-26 05:58:11 +00:00
tools Add an -mattr option to the gold plugin to support subtarget features in LTO 2014-04-25 21:46:51 +00:00
unittests DIE: Pass ownership of children via std::unique_ptr rather than raw pointer. 2014-04-25 20:00:34 +00:00
utils llvm-build: Get rid of 'import *' 2014-04-23 19:17:42 +00:00
.arcconfig
.clang-format
.gitignore
CMakeLists.txt Added Sphinx documentation generation to CMake build system. 2014-04-18 21:45:25 +00:00
CODE_OWNERS.TXT
configure
CREDITS.TXT Test commit. 2014-04-10 22:25:51 +00:00
LICENSE.TXT
llvm.spec.in
LLVMBuild.txt
Makefile
Makefile.common
Makefile.config.in
Makefile.rules
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 documentation provided in docs/ for further
assistance with LLVM, and in particular docs/GettingStarted.rst for getting
started with LLVM and docs/README.txt for an overview of LLVM's
documentation setup.

If you're writing a package for LLVM, see docs/Packaging.rst for our
suggestions.