mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2026-04-25 05:22:04 +00:00
simplify-libcalls: fold strstr(a, b) == a -> strncmp(a, b, strlen(b)) == 0
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106047 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
@@ -46,3 +46,15 @@ entry:
|
||||
; CHECK: @test4
|
||||
; CHECK: ret i8* %P
|
||||
}
|
||||
|
||||
define i1 @test5(i8* %P, i8* %Q) nounwind readonly {
|
||||
entry:
|
||||
%call = tail call i8* @strstr(i8* %P, i8* %Q) nounwind ; <i8*> [#uses=1]
|
||||
%cmp = icmp eq i8* %call, %P
|
||||
ret i1 %cmp
|
||||
; CHECK: @test5
|
||||
; CHECK: [[LEN:%[a-z]+]] = call {{i[0-9]+}} @strlen(i8* %Q)
|
||||
; CHECK: [[NCMP:%[a-z]+]] = call {{i[0-9]+}} @strncmp(i8* %P, i8* %Q, {{i[0-9]+}} [[LEN]])
|
||||
; CHECK: icmp eq {{i[0-9]+}} [[NCMP]], 0
|
||||
; CHECK: ret i1
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user