Teach SimplifyLibCalls to fold memcmp calls with constant arguments.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86141 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Benjamin Kramer
2009-11-05 17:44:22 +00:00
parent f626167e69
commit 992a637297
2 changed files with 15 additions and 4 deletions
@@ -17,6 +17,10 @@ define void @test(i8* %P, i8* %Q, i32 %N, i32* %IP, i1* %BP) {
%D = call i32 @memcmp( i8* %P, i8* %Q, i32 2 ) ; <i32> [#uses=1]
%E = icmp eq i32 %D, 0 ; <i1> [#uses=1]
volatile store i1 %E, i1* %BP
%F = call i32 @memcmp(i8* getelementptr ([4 x i8]* @hel, i32 0, i32 0),
i8* getelementptr ([8 x i8]* @hello_u, i32 0, i32 0),
i32 3)
volatile store i32 %F, i32* %IP
ret void
}