summaryrefslogtreecommitdiff
path: root/lib/Target/README.txt
diff options
context:
space:
mode:
authorChris Lattner <sabre@nondot.org>2011-02-16 19:16:34 +0000
committerChris Lattner <sabre@nondot.org>2011-02-16 19:16:34 +0000
commit5653f1f9046c6c954e6f74869ca927611c050938 (patch)
tree2bd29083613782995df439a200ec70f331f05035 /lib/Target/README.txt
parenta901129169194881a78b7fd8953e09f55b846d10 (diff)
downloadllvm-5653f1f9046c6c954e6f74869ca927611c050938.tar.gz
llvm-5653f1f9046c6c954e6f74869ca927611c050938.tar.bz2
llvm-5653f1f9046c6c954e6f74869ca927611c050938.tar.xz
Add a few missed xforms from GCC PR14753
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@125681 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Target/README.txt')
-rw-r--r--lib/Target/README.txt29
1 files changed, 29 insertions, 0 deletions
diff --git a/lib/Target/README.txt b/lib/Target/README.txt
index 5aa29782af..c6f384cd6e 100644
--- a/lib/Target/README.txt
+++ b/lib/Target/README.txt
@@ -2218,3 +2218,32 @@ llc time when it gets inlined, because we can use smaller transfers. This also
avoids partial register stalls in some important cases.
//===---------------------------------------------------------------------===//
+
+Some missed instcombine xforms (from GCC PR14753):
+
+void bar (void);
+
+void mask_gt (unsigned int a) {
+/* This is equivalent to a > 15. */
+if ((a & ~7) > 8)
+bar();
+}
+
+void neg_eq_cst(unsigned int a) {
+if (-a == 123)
+bar();
+}
+
+void minus_cst(unsigned int a) {
+if (20 - a == 5)
+bar();
+}
+
+void rotate_cst (unsigned a) {
+a = (a << 10) | (a >> 22);
+if (a == 123)
+bar ();
+}
+
+//===---------------------------------------------------------------------===//
+