LLVM backend for 6502
Go to file
Evan Cheng 2a135ae530 This DAG combine BRCOND transformation can look pass truncate of the operand:
//   %a = ...                                                                                                                                                                                  
    //   %b = and i32 %a, 2                                                                                                                                                                        
    //   %c = srl i32 %b, 1                                                                                                                                                                        
    //   brcond i32 %c ...                                                                                                                                                                         
    //                                                                                                                                                                                             
    // into                                                                                                                                                                                        
    //                                                                                                                                                                                             
    //   %a = ...                                                                                                                                                                                  
    //   %b = and i32 %a, 2                                                                                                                                                                        
    //   %c = setcc eq %b, 0                                                                                                                                                                       
    //   brcond %c ...

Make sure it restores local variable N1, which corresponds to the condition operand if it fails to match.

This apparently breaks TCE but since that backend isn't in the tree I don't have a test for it.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115571 91177308-0d34-0410-b5e6-96231b3b80d8
2010-10-04 22:41:01 +00:00
autoconf Add support for viewing graphviz graphs with xdot.py. 2010-09-27 16:28:34 +00:00
bindings
cmake Update library dependencies. 2010-10-02 03:04:43 +00:00
docs AVX intrinsics and builtins were also added to clang 2010-10-04 22:07:22 +00:00
examples Convert a bunch of uses of 'bytecode' into 'bitcode'. This 2010-09-29 20:09:55 +00:00
include The pshufw instruction came about in MMX2 when SSE was introduced. Don't place 2010-10-04 20:24:01 +00:00
lib This DAG combine BRCOND transformation can look pass truncate of the operand: 2010-10-04 22:41:01 +00:00
projects
runtime
test The pshufw instruction came about in MMX2 when SSE was introduced. Don't place 2010-10-04 20:24:01 +00:00
tools Stop the build if cyclic library dependecies found. 2010-10-02 03:04:49 +00:00
unittests static_cast to long, otherwise MSVC 2008 won't compile. 2010-10-04 12:31:20 +00:00
utils remove reference to dead script. 2010-10-02 18:49:27 +00:00
website
build-for-llvm-top.sh
CMakeLists.txt Handle InstPrinter's on the CMake build. 2010-10-02 02:38:42 +00:00
configure Rename the AsmPrinter directory to InstPrinter for those targets that have 2010-10-01 22:39:28 +00:00
CREDITS.TXT Convert a bunch of uses of 'bytecode' into 'bitcode'. This 2010-09-29 20:09:55 +00:00
LICENSE.TXT
llvm.spec.in
Makefile
Makefile.common
Makefile.config.in
Makefile.rules Makefile.rules: Fix breakage on cygming --enable-shared. 2010-10-04 02:32:21 +00:00
ModuleInfo.txt
README.txt Undoing test commit blank space. 2010-09-29 17:39:29 +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.