summaryrefslogtreecommitdiffstats
path: root/llvm/lib
diff options
context:
space:
mode:
authorChris Lattner <sabre@nondot.org>2006-02-15 19:52:06 +0000
committerChris Lattner <sabre@nondot.org>2006-02-15 19:52:06 +0000
commit6afb5587da1525d089d35c1ff584a1edf84f8aaf (patch)
treefb1f9fa1eb5932f14faf109004a596cc8a14403b /llvm/lib
parent2eea43619215405ed0a94705a1a00f9e6394ab05 (diff)
downloadbcm5719-llvm-6afb5587da1525d089d35c1ff584a1edf84f8aaf.tar.gz
bcm5719-llvm-6afb5587da1525d089d35c1ff584a1edf84f8aaf.zip
new test
llvm-svn: 26217
Diffstat (limited to 'llvm/lib')
-rw-r--r--llvm/lib/Target/README.txt12
1 files changed, 12 insertions, 0 deletions
diff --git a/llvm/lib/Target/README.txt b/llvm/lib/Target/README.txt
index 64c1c55fd49..d61473136f6 100644
--- a/llvm/lib/Target/README.txt
+++ b/llvm/lib/Target/README.txt
@@ -64,3 +64,15 @@ Number 1 is the preferred solution.
//===---------------------------------------------------------------------===//
+DAG combine this into mul A, 8:
+
+int %test(int %A) {
+ %B = mul int %A, 8 ;; shift
+ %C = add int %B, 7 ;; dead, no demanded bits.
+ %D = and int %C, -8 ;; dead once add is gone.
+ ret int %D
+}
+
+This sort of thing occurs in the alloca lowering code and other places that
+are generating alignment of an already aligned value.
+
OpenPOWER on IntegriCloud