LLVM backend for 6502
Go to file
Shuxin Yang a09e18fcfa For rdar://12329730, last piece.
This change attempts to simplify (X^Y) -> X or Y in the user's context if we know that
only bits from X or Y are demanded.

  A minimized case is provided bellow. This change will simplify "t>>16" into "var1 >>16".

  =============================================================
  unsigned foo (unsigned val1, unsigned val2) {
    unsigned t = val1 ^ 1234;
    return (t >> 16) | t; // NOTE: t is used more than once.
  }
  =============================================================

  Note that if the "t" were used only once, the expression would be finally optimized as well.
However, with with this change, the optimization will take place earlier.

  Reviewed by Nadav, Thanks a lot!


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@169317 91177308-0d34-0410-b5e6-96231b3b80d8
2012-12-04 22:15:32 +00:00
autoconf
bindings [python] Add markup option to disassembler 2012-12-01 21:57:30 +00:00
cmake
docs docs: Begin Sphinxification of docs/tutorial/ 2012-12-04 21:16:41 +00:00
examples Sort the #include lines of the examples/... tree. 2012-12-04 10:16:57 +00:00
include Use the 'count' attribute to calculate the upper bound of an array. 2012-12-04 21:34:03 +00:00
lib For rdar://12329730, last piece. 2012-12-04 22:15:32 +00:00
projects Clean up the sample include orderings, not that it really matters... 2012-12-04 10:46:21 +00:00
runtime
test For rdar://12329730, last piece. 2012-12-04 22:15:32 +00:00
tools Sort the #include lines for tools/... 2012-12-04 10:44:52 +00:00
unittests Sort the #include lines for unittest/... 2012-12-04 10:23:08 +00:00
utils KillTheDoctor.cpp: Restore Win32 SDK headers before r169251. 2012-12-04 11:34:27 +00:00
.arcconfig
.gitignore
CMakeLists.txt
CODE_OWNERS.TXT clarify that this isn't lld. 2012-12-03 16:08:32 +00:00
configure
CREDITS.TXT Update my email address. 2012-11-29 21:17:26 +00:00
LICENSE.TXT Few more small CellSPU removals. 2012-11-14 22:13:56 +00:00
llvm.spec.in
LLVMBuild.txt LLVMBuild: Introduce a common section which currently has a list of the 2011-12-12 22:45:54 +00:00
Makefile
Makefile.common
Makefile.config.in
Makefile.rules
README.txt Test commit. 2012-11-29 16:19:11 +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.