diff options
author | Benjamin Kramer <benny.kra@googlemail.com> | 2010-12-11 10:49:22 +0000 |
---|---|---|
committer | Benjamin Kramer <benny.kra@googlemail.com> | 2010-12-11 10:49:22 +0000 |
commit | 2f7228b80c6a129fa1d8eef8c3075085003d5b87 (patch) | |
tree | aacb8a9b0c2bd9c3c104daf4eb3d1c7bcfadb862 /lib/Target/README.txt | |
parent | 20e3b4b380e949af32eeb4f184c51bfd62286f1a (diff) | |
download | llvm-2f7228b80c6a129fa1d8eef8c3075085003d5b87.tar.gz llvm-2f7228b80c6a129fa1d8eef8c3075085003d5b87.tar.bz2 llvm-2f7228b80c6a129fa1d8eef8c3075085003d5b87.tar.xz |
Generalize the and-icmp-select instcombine further by allowing selects of the form
(x & 2^n) ? 2^m+C : C
we can offset both arms by C to get the "(x & 2^n) ? 2^m : 0" form, optimize the
select to a shift and apply the offset afterwards.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@121609 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Target/README.txt')
-rw-r--r-- | lib/Target/README.txt | 12 |
1 files changed, 0 insertions, 12 deletions
diff --git a/lib/Target/README.txt b/lib/Target/README.txt index 38f5af642d..35273344d7 100644 --- a/lib/Target/README.txt +++ b/lib/Target/README.txt @@ -1055,18 +1055,6 @@ Should also combine to x | 8. Currently not optimized with "clang //===---------------------------------------------------------------------===// -int a(int x) {return (x & 8) == 0 ? -1 : -9;} -Should combine to (x | -9) ^ 8. Currently not optimized with "clang --emit-llvm-bc | opt -std-compile-opts". - -//===---------------------------------------------------------------------===// - -int a(int x) {return (x & 8) == 0 ? -9 : -1;} -Should combine to x | -9. Currently not optimized with "clang --emit-llvm-bc | opt -std-compile-opts". - -//===---------------------------------------------------------------------===// - int a(int x) {return ((x | -9) ^ 8) & x;} Should combine to x & -9. Currently not optimized with "clang -emit-llvm-bc | opt -std-compile-opts". |