diff options
author | Benjamin Kramer <benny.kra@googlemail.com> | 2010-12-23 15:32:07 +0000 |
---|---|---|
committer | Benjamin Kramer <benny.kra@googlemail.com> | 2010-12-23 15:32:07 +0000 |
commit | dfa40f8f195c14b6080ec5214d3d1c7e01ee6195 (patch) | |
tree | 06fd2ab42334f01ca133b55fc0d7ff434c52b1a1 /llvm/lib/Target | |
parent | b37ae33125b83e75287ad941b1a47957848f672a (diff) | |
download | bcm5719-llvm-dfa40f8f195c14b6080ec5214d3d1c7e01ee6195.tar.gz bcm5719-llvm-dfa40f8f195c14b6080ec5214d3d1c7e01ee6195.zip |
Remove/fix invalid README entries. The well thought out strcpy function doesn't return a pointer to the end of the string.
llvm-svn: 122496
Diffstat (limited to 'llvm/lib/Target')
-rw-r--r-- | llvm/lib/Target/README.txt | 23 |
1 files changed, 2 insertions, 21 deletions
diff --git a/llvm/lib/Target/README.txt b/llvm/lib/Target/README.txt index abb8ee6f499..c9561660b1c 100644 --- a/llvm/lib/Target/README.txt +++ b/llvm/lib/Target/README.txt @@ -697,7 +697,7 @@ implementations of ceil/floor/rint. Consider: int test() { - long long input[8] = {1,1,1,1,1,1,1,1}; + long long input[8] = {1,0,1,0,1,0,1,0}; foo(input); } @@ -1432,14 +1432,7 @@ Those should be turned into a switch. This is interesting for a couple reasons. First, in this: - %3073 = call i8* @strcpy(i8* %3072, i8* %3071) nounwind - %strlen = call i32 @strlen(i8* %3072) - -The strlen could be replaced with: %strlen = sub %3072, %3073, because the -strcpy call returns a pointer to the end of the string. Based on that, the -endptr GEP just becomes equal to 3073, which eliminates a strlen call and GEP. - -Second, the memcpy+strlen strlen can be replaced with: +The memcpy+strlen strlen can be replaced with: %3074 = call i32 @strlen([5 x i8]* @"\01LC42") nounwind readonly @@ -1515,18 +1508,6 @@ This pattern repeats several times, basically doing: //===---------------------------------------------------------------------===// -186.crafty also contains this code: - -%1906 = call i32 @strlen(i8* getelementptr ([32 x i8]* @pgn_event, i32 0,i32 0)) -%1907 = getelementptr [32 x i8]* @pgn_event, i32 0, i32 %1906 -%1908 = call i8* @strcpy(i8* %1907, i8* %1905) nounwind align 1 -%1909 = call i32 @strlen(i8* getelementptr ([32 x i8]* @pgn_event, i32 0,i32 0)) -%1910 = getelementptr [32 x i8]* @pgn_event, i32 0, i32 %1909 - -The last strlen is computable as 1908-@pgn_event, which means 1910=1908. - -//===---------------------------------------------------------------------===// - 186.crafty has this interesting pattern with the "out.4543" variable: call void @llvm.memcpy.i32( |