diff options
| author | Chris Lattner <sabre@nondot.org> | 2011-02-21 02:13:39 +0000 |
|---|---|---|
| committer | Chris Lattner <sabre@nondot.org> | 2011-02-21 02:13:39 +0000 |
| commit | e9cba7bd3475ff0c115b42c584e423983962ad28 (patch) | |
| tree | aeb1fc8d94a5cba3605e78f0053938429fbac834 /llvm/lib/Target | |
| parent | bc661d6686eb4642bcf83a5e5f2c77c308f05481 (diff) | |
| download | bcm5719-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.txt | 14 |
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): |

