LLVM backend for 6502
Go to file
Dan Gohman f06c835f76 Optimize SelectionDAG's AssignTopologicalOrder even further.
Completely eliminate the TopOrder std::vector. Instead, sort
the AllNodes list in place. This also eliminates the need to
call AllNodes.size(), a linear-time operation, before
performing the sort.

Also, eliminate the Sources temporary std::vector, since it
essentially duplicates the sorted result as it is being
built.

This also changes the direction of the topological sort
from bottom-up to top-down. The AllNodes list starts out in
roughly top-down order, so this reduces the amount of
reordering needed. Top-down is also more convenient for
Legalize, and ISel needed only minor adjustments.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@56867 91177308-0d34-0410-b5e6-96231b3b80d8
2008-09-30 18:30:35 +00:00
autoconf When looking for executable extensions, ignore .dSYM, as that's the debug info directory on Darwin. 2008-09-26 17:27:58 +00:00
bindings PR2731: C and Ocaml bindings for setTailCall and isTailCall. 2008-08-30 16:34:54 +00:00
cmake CMake: Builds all targets. 2008-09-26 04:40:32 +00:00
docs Stacker is dead. 2008-09-30 15:18:29 +00:00
examples CMake: Builds all examples. Corrected name of CBackend target. 2008-09-26 19:48:03 +00:00
include Optimize SelectionDAG's AssignTopologicalOrder even further. 2008-09-30 18:30:35 +00:00
lib Optimize SelectionDAG's AssignTopologicalOrder even further. 2008-09-30 18:30:35 +00:00
projects Add "sample" documentation to sample project. 2008-09-15 05:31:29 +00:00
runtime Fixing the stack walker. 2008-01-24 05:16:36 +00:00
test Re-apply 56835 along with header file changes. 2008-09-30 15:44:16 +00:00
tools CMake: Builds all targets. 2008-09-26 04:40:32 +00:00
utils Move the code that handles DAGISel error conditions into 2008-09-27 23:53:14 +00:00
website Prepare for "core" website. 2007-08-03 05:43:35 +00:00
win32 Add Attributes.cpp to the vcproj. 2008-09-24 17:23:28 +00:00
Xcode Merge LLVMBuilder and FoldingBuilder, calling 2008-04-13 06:22:09 +00:00
build-for-llvm-top.sh Allow the configure options to be set according to the llvm-top options. 2007-08-31 19:53:42 +00:00
CMakeLists.txt CMake: Builds all targets. 2008-09-26 04:40:32 +00:00
configure When looking for executable extensions, ignore .dSYM, as that's the debug info directory on Darwin. 2008-09-26 17:27:58 +00:00
CREDITS.TXT Add another description to my entry. 2008-08-28 23:16:37 +00:00
LICENSE.TXT llvmc doesn't exist anymore, and llvmc2 doesn't have a special license file. 2008-06-20 20:05:57 +00:00
llvm.spec.in * llvm.spec.in: update blurb 2007-07-13 09:48:29 +00:00
Makefile For PR1338: rename include/llvm/ADT/ilist and friends to end with ".h" 2008-05-29 17:41:17 +00:00
Makefile.common remove attributions from the rest of the llvm makefiles. 2007-12-29 20:11:13 +00:00
Makefile.config.in Reapply majority of r55557 but with the changes to compilation flags 2008-09-02 17:35:16 +00:00
Makefile.rules Reapply majority of r55557 but with the changes to compilation flags 2008-09-02 17:35:16 +00:00
ModuleInfo.txt Update to include clean and install commands. 2007-07-20 20:54:41 +00:00
README.txt Remove extra lines 2008-07-28 20:50:25 +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.