mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2025-01-17 17:26:00 +00:00
add a missed loop deletion case.
llvm-svn: 126103
This commit is contained in:
parent
9d2899115f
commit
c373140c8b
@ -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):
|
||||
|
Loading…
x
Reference in New Issue
Block a user