summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Target
diff options
context:
space:
mode:
authorChris Lattner <sabre@nondot.org>2011-02-21 02:13:39 +0000
committerChris Lattner <sabre@nondot.org>2011-02-21 02:13:39 +0000
commite9cba7bd3475ff0c115b42c584e423983962ad28 (patch)
treeaeb1fc8d94a5cba3605e78f0053938429fbac834 /llvm/lib/Target
parentbc661d6686eb4642bcf83a5e5f2c77c308f05481 (diff)
downloadbcm5719-llvm-e9cba7bd3475ff0c115b42c584e423983962ad28.tar.gz
bcm5719-llvm-e9cba7bd3475ff0c115b42c584e423983962ad28.zip
add a missed loop deletion case.
llvm-svn: 126103
Diffstat (limited to 'llvm/lib/Target')
-rw-r--r--llvm/lib/Target/README.txt14
1 files changed, 14 insertions, 0 deletions
diff --git a/llvm/lib/Target/README.txt b/llvm/lib/Target/README.txt
index bda764deffe..f85914b61d9 100644
--- a/llvm/lib/Target/README.txt
+++ b/llvm/lib/Target/README.txt
@@ -254,6 +254,20 @@ unsigned long reverse(unsigned v) {
//===---------------------------------------------------------------------===//
+[LOOP DELETION]
+
+We don't delete this output free loop, because trip count analysis doesn't
+realize that it is finite (if it were infinite, it would be undefined). Not
+having this blocks Loop Idiom from matching strlen and friends.
+
+void foo(char *C) {
+ int x = 0;
+ while (*C)
+ ++x,++C;
+}
+
+//===---------------------------------------------------------------------===//
+
[LOOP RECOGNITION]
These idioms should be recognized as popcount (see PR1488):
OpenPOWER on IntegriCloud