forked from OSchip/llvm-project
parent
0996705009
commit
dde10cd7a9
|
@ -37,8 +37,8 @@ define i32 @memcmp_const_size_update_deref2(i8* nocapture readonly %d, i8* nocap
|
|||
ret i32 %call
|
||||
}
|
||||
|
||||
define i32 @memcmp_const_size_no_update_deref(i8* nocapture readonly %d, i8* nocapture readonly %s) {
|
||||
; CHECK-LABEL: @memcmp_const_size_no_update_deref(
|
||||
define i32 @memcmp_const_size_update_deref3(i8* nocapture readonly %d, i8* nocapture readonly %s) {
|
||||
; CHECK-LABEL: @memcmp_const_size_update_deref3(
|
||||
; CHECK-NEXT: [[CALL:%.*]] = tail call i32 @memcmp(i8* dereferenceable(40) [[D:%.*]], i8* dereferenceable(16) [[S:%.*]], i64 16)
|
||||
; CHECK-NEXT: ret i32 [[CALL]]
|
||||
;
|
||||
|
@ -46,8 +46,17 @@ define i32 @memcmp_const_size_no_update_deref(i8* nocapture readonly %d, i8* noc
|
|||
ret i32 %call
|
||||
}
|
||||
|
||||
define i32 @memcmp_const_size_no_update_deref2(i8* nocapture readonly %d, i8* nocapture readonly %s) {
|
||||
; CHECK-LABEL: @memcmp_const_size_no_update_deref2(
|
||||
define i32 @memcmp_const_size_update_deref4(i8* nocapture readonly %d, i8* nocapture readonly %s) {
|
||||
; CHECK-LABEL: @memcmp_const_size_update_deref4(
|
||||
; CHECK-NEXT: [[CALL:%.*]] = tail call i32 @memcmp(i8* dereferenceable(16) [[D:%.*]], i8* dereferenceable(16) [[S:%.*]], i64 16)
|
||||
; CHECK-NEXT: ret i32 [[CALL]]
|
||||
;
|
||||
%call = tail call i32 @memcmp(i8* dereferenceable_or_null(16) %d, i8* %s, i64 16)
|
||||
ret i32 %call
|
||||
}
|
||||
|
||||
define i32 @memcmp_const_size_update_deref5(i8* nocapture readonly %d, i8* nocapture readonly %s) {
|
||||
; CHECK-LABEL: @memcmp_const_size_update_deref5(
|
||||
; CHECK-NEXT: [[CALL:%.*]] = tail call i32 @memcmp(i8* dereferenceable(40) [[D:%.*]], i8* dereferenceable(16) [[S:%.*]], i64 16)
|
||||
; CHECK-NEXT: ret i32 [[CALL]]
|
||||
;
|
||||
|
@ -55,6 +64,15 @@ define i32 @memcmp_const_size_no_update_deref2(i8* nocapture readonly %d, i8* no
|
|||
ret i32 %call
|
||||
}
|
||||
|
||||
define i32 @memcmp_const_size_no_update_deref(i8* nocapture readonly %d, i8* nocapture readonly %s) {
|
||||
; CHECK-LABEL: @memcmp_const_size_no_update_deref(
|
||||
; CHECK-NEXT: [[CALL:%.*]] = tail call i32 @memcmp(i8* dereferenceable(40) [[D:%.*]], i8* dereferenceable(20) [[S:%.*]], i64 16)
|
||||
; CHECK-NEXT: ret i32 [[CALL]]
|
||||
;
|
||||
%call = tail call i32 @memcmp(i8* dereferenceable(40) %d, i8* dereferenceable(20) %s, i64 16)
|
||||
ret i32 %call
|
||||
}
|
||||
|
||||
define i32 @memcmp_nonconst_size(i8* nocapture readonly %d, i8* nocapture readonly %s, i64 %n) {
|
||||
; CHECK-LABEL: @memcmp_nonconst_size(
|
||||
; CHECK-NEXT: [[CALL:%.*]] = tail call i32 @memcmp(i8* [[D:%.*]], i8* [[S:%.*]], i64 [[N:%.*]])
|
||||
|
|
Loading…
Reference in New Issue