llvm-project/llvm
Jakob Stoklund Olesen aab43dbfbb Also pass logical ops to combineSelectAndUse.
Add these transformations to the existing add/sub ones:

  (and (select cc, -1, c), x) -> (select cc, x, (and, x, c))
  (or  (select cc, 0, c), x)  -> (select cc, x, (or, x, c))
  (xor (select cc, 0, c), x)  -> (select cc, x, (xor, x, c))

The selects can then be transformed to a single predicated instruction
by peephole.

This transformation will make it possible to eliminate the ISD::CAND,
COR, and CXOR custom DAG nodes.

llvm-svn: 162176
2012-08-18 21:25:16 +00:00
..
autoconf [configure] Add a --enable-keep-symbols configure flag. 2012-08-14 18:14:20 +00:00
bindings Remove tabs. 2012-07-19 00:23:13 +00:00
cmake revert my previous patch 2012-08-08 18:04:45 +00:00
docs Change the `linker_private_weak_def_auto' linkage to `linkonce_odr_auto_hide' to 2012-08-17 18:33:14 +00:00
examples Move llvm/Support/IRBuilder.h -> llvm/IRBuilder.h 2012-06-29 12:38:19 +00:00
include Correct MCJIT functionality for MIPS32 architecture. 2012-08-17 21:28:04 +00:00
lib Also pass logical ops to combineSelectAndUse. 2012-08-18 21:25:16 +00:00
projects Fix a typo (the the => the) 2012-07-23 08:51:15 +00:00
runtime Free the allocated filename. Found by clang static analyzer. 2012-06-15 09:11:47 +00:00
test Also pass logical ops to combineSelectAndUse. 2012-08-18 21:25:16 +00:00
tools Change the `linker_private_weak_def_auto' linkage to `linkonce_odr_auto_hide' to 2012-08-17 18:33:14 +00:00
unittests Flatten the aligned-char-array utility template to be a directly 2012-08-17 01:47:25 +00:00
utils Add stub methods for mips assembly matcher. 2012-08-17 20:16:42 +00:00
.gitignore Add tools/lld to .gitignore. 2012-05-02 21:25:32 +00:00
CMakeLists.txt bug in experimental targets 2012-08-15 22:35:36 +00:00
CODE_OWNERS.TXT Add the list of code owners to the top level of the LLVM source tree to 2012-07-26 08:04:09 +00:00
CREDITS.TXT Alphabetize. 2012-06-19 23:47:58 +00:00
LICENSE.TXT Add YAML parser to Support. 2012-04-03 23:09:22 +00:00
LLVMBuild.txt
Makefile Fix the make update target to work even when sub repo repositories are ignored. 2012-08-14 18:33:50 +00:00
Makefile.common [docs] Remove unsupported references to ExtraSource variable. 2012-05-15 21:32:27 +00:00
Makefile.config.in [configure] Add a --enable-keep-symbols configure flag. 2012-08-14 18:14:20 +00:00
Makefile.rules Add a configure flag for enabling -Werror on the command line 2012-08-03 19:58:20 +00:00
README.txt test commit 2012-07-11 17:34:12 +00:00
configure Update configure. 2012-08-14 18:14:22 +00:00
llvm.spec.in

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 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.