[llvm] e7ddb4f - [InstCombine] Add tests for freeze of load with metadata (NFC)
Nikita Popov via llvm-commits
llvm-commits at lists.llvm.org
Tue May 24 06:17:47 PDT 2022
Author: Nikita Popov
Date: 2022-05-24T15:17:39+02:00
New Revision: e7ddb4f6b4e0b580f7a6f2fdc654aff0a82cffa9
URL: https://github.com/llvm/llvm-project/commit/e7ddb4f6b4e0b580f7a6f2fdc654aff0a82cffa9
DIFF: https://github.com/llvm/llvm-project/commit/e7ddb4f6b4e0b580f7a6f2fdc654aff0a82cffa9.diff
LOG: [InstCombine] Add tests for freeze of load with metadata (NFC)
Added:
Modified:
llvm/test/Transforms/InstCombine/freeze.ll
Removed:
################################################################################
diff --git a/llvm/test/Transforms/InstCombine/freeze.ll b/llvm/test/Transforms/InstCombine/freeze.ll
index b17b32addd3b1..cda37fa633d9b 100644
--- a/llvm/test/Transforms/InstCombine/freeze.ll
+++ b/llvm/test/Transforms/InstCombine/freeze.ll
@@ -821,5 +821,37 @@ exit: ; preds = %loop
ret void
}
+define i8* @freeze_load_noundef(i8** %ptr) {
+; CHECK-LABEL: @freeze_load_noundef(
+; CHECK-NEXT: [[P:%.*]] = load i8*, i8** [[PTR:%.*]], align 8, !noundef !0
+; CHECK-NEXT: ret i8* [[P]]
+;
+ %p = load i8*, i8** %ptr, !noundef !0
+ %p.fr = freeze i8* %p
+ ret i8* %p.fr
+}
+define i8* @freeze_load_dereferenceable(i8** %ptr) {
+; CHECK-LABEL: @freeze_load_dereferenceable(
+; CHECK-NEXT: [[P:%.*]] = load i8*, i8** [[PTR:%.*]], align 8, !dereferenceable !1
+; CHECK-NEXT: [[P_FR:%.*]] = freeze i8* [[P]]
+; CHECK-NEXT: ret i8* [[P_FR]]
+;
+ %p = load i8*, i8** %ptr, !dereferenceable !1
+ %p.fr = freeze i8* %p
+ ret i8* %p.fr
+}
+
+define i8* @freeze_load_dereferenceable_or_null(i8** %ptr) {
+; CHECK-LABEL: @freeze_load_dereferenceable_or_null(
+; CHECK-NEXT: [[P:%.*]] = load i8*, i8** [[PTR:%.*]], align 8, !dereferenceable_or_null !1
+; CHECK-NEXT: [[P_FR:%.*]] = freeze i8* [[P]]
+; CHECK-NEXT: ret i8* [[P_FR]]
+;
+ %p = load i8*, i8** %ptr, !dereferenceable_or_null !1
+ %p.fr = freeze i8* %p
+ ret i8* %p.fr
+}
+!0 = !{}
+!1 = !{i64 4}
More information about the llvm-commits
mailing list