Skip to content

Commit a8a5998

Browse files
committed
[DSE] Add tests for redundant store elimination with different attrs (NFC)
1 parent aeaafce commit a8a5998

File tree

1 file changed

+42
-0
lines changed

1 file changed

+42
-0
lines changed

llvm/test/Transforms/DeadStoreElimination/stores-of-existing-values.ll

Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -746,3 +746,45 @@ define void @fixed_scalable_neg(ptr %ptr) vscale_range(1, 2) {
746746
store <4 x i64> zeroinitializer, ptr %ptr
747747
ret void
748748
}
749+
750+
define void @memset_different_attributes_1(i1 %c, ptr %ptr) {
751+
; CHECK-LABEL: @memset_different_attributes_1(
752+
; CHECK-NEXT: call void @llvm.memset.p0.i64(ptr [[PTR:%.*]], i8 0, i64 20, i1 false)
753+
; CHECK-NEXT: br i1 [[C:%.*]], label [[IF:%.*]], label [[END:%.*]]
754+
; CHECK: if:
755+
; CHECK-NEXT: call void @llvm.memset.p0.i64(ptr dereferenceable(20) [[PTR]], i8 0, i64 20, i1 false)
756+
; CHECK-NEXT: br label [[END]]
757+
; CHECK: end:
758+
; CHECK-NEXT: ret void
759+
;
760+
call void @llvm.memset.p0.i64(ptr %ptr, i8 0, i64 20, i1 false)
761+
br i1 %c, label %if, label %end
762+
763+
if:
764+
call void @llvm.memset.p0.i64(ptr dereferenceable(20) %ptr, i8 0, i64 20, i1 false)
765+
br label %end
766+
767+
end:
768+
ret void
769+
}
770+
771+
define void @memset_different_attributes_2(i1 %c, ptr %ptr) {
772+
; CHECK-LABEL: @memset_different_attributes_2(
773+
; CHECK-NEXT: call void @llvm.memset.p0.i64(ptr dereferenceable(20) [[PTR:%.*]], i8 0, i64 20, i1 false)
774+
; CHECK-NEXT: br i1 [[C:%.*]], label [[IF:%.*]], label [[END:%.*]]
775+
; CHECK: if:
776+
; CHECK-NEXT: call void @llvm.memset.p0.i64(ptr [[PTR]], i8 0, i64 20, i1 false)
777+
; CHECK-NEXT: br label [[END]]
778+
; CHECK: end:
779+
; CHECK-NEXT: ret void
780+
;
781+
call void @llvm.memset.p0.i64(ptr dereferenceable(20) %ptr, i8 0, i64 20, i1 false)
782+
br i1 %c, label %if, label %end
783+
784+
if:
785+
call void @llvm.memset.p0.i64(ptr %ptr, i8 0, i64 20, i1 false)
786+
br label %end
787+
788+
end:
789+
ret void
790+
}

0 commit comments

Comments
 (0)