LLVM backend for 6502
Go to file
Chris Lattner c6d7ad3c7d Rewrite chain handling validation and input TokenFactor handling
stuff now that we don't care about emulating the old broken 
behavior of the old isel.  This eliminates the 
'CheckChainCompatible' check (along with IsChainCompatible) which
did an incorrect and inefficient scan *up* the chain nodes which
happened as the pattern was being formed and does the validation
at the end in HandleMergeInputChains when it forms a structural 
pattern.  This scans "down" the graph, which means that it is
quickly bounded by nodes already selected.  This also handles
token factors that get "trapped" in the dag.

Removing the CheckChainCompatible nodes also shrinks the 
generated tables by about 6K for X86 (down to 83K).

There are two pieces remaining before I can nuke PreprocessRMW:
1. I xfailed a test because we're now producing worse code in a 
   case that has nothing to do with the change: it turns out that
   our use of MorphNodeTo will leave dead nodes in the graph
   which (depending on how the graph is walked) end up causing
   bogus uses of chains and blocking matches.  This is really 
   bad for other reasons, so I'll fix this in a follow-up patch.

2. CheckFoldableChainNode needs to be improved to handle the TF.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97539 91177308-0d34-0410-b5e6-96231b3b80d8
2010-03-02 02:22:10 +00:00
autoconf Added SAFECode (safecode) to the list of projects to automatically configure. 2010-02-25 22:57:19 +00:00
bindings Add support getting the operands of a User to ocaml. 2010-02-28 20:45:03 +00:00
cmake Update CMake LibDeps 2010-01-22 18:14:14 +00:00
docs Floating-point add, sub, and mul are now spelled fadd, fsub, and fmul, 2010-03-02 01:11:08 +00:00
examples Roll back r96959 again. 2010-02-23 20:53:37 +00:00
include Rewrite chain handling validation and input TokenFactor handling 2010-03-02 02:22:10 +00:00
lib Rewrite chain handling validation and input TokenFactor handling 2010-03-02 02:22:10 +00:00
projects Testing subversion commit access 2010-02-23 15:11:17 +00:00
runtime Switch .bc/.ll Makefile rules to use LLVM{CC,CXX} instead of LLVMG{CC,XX} 2010-02-23 10:28:06 +00:00
test Rewrite chain handling validation and input TokenFactor handling 2010-03-02 02:22:10 +00:00
tools Make llc opt into the addPassesToEmitFile verify pass. 2010-03-01 21:45:21 +00:00
unittests Spelling fixes. 2010-03-01 17:51:02 +00:00
utils Rewrite chain handling validation and input TokenFactor handling 2010-03-02 02:22:10 +00:00
website
build-for-llvm-top.sh Patch to build llvm with srcdir != objdir from 2009-01-23 08:42:38 +00:00
CMakeLists.txt CMake: Add MCParser directory. 2010-01-22 02:04:33 +00:00
configure Added SAFECode (safecode) to the list of projects to automatically configure. 2010-02-25 22:57:19 +00:00
CREDITS.TXT Adding the MicroBlaze backend. 2010-02-23 19:15:24 +00:00
LICENSE.TXT 2010 is upon us. 2010-01-09 18:40:31 +00:00
llvm.spec.in
Makefile Try r96559 for the third time. This time the shared library is only built if 2010-02-25 06:34:33 +00:00
Makefile.common
Makefile.config.in Try r96559 for the third time. This time the shared library is only built if 2010-02-25 06:34:33 +00:00
Makefile.rules Try r96559 for the third time. This time the shared library is only built if 2010-02-25 06:34:33 +00:00
ModuleInfo.txt Patch to build llvm with srcdir != objdir from 2009-01-23 08:42:38 +00:00
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.