[llvm] 95935d3 - [Test] Add tests showing that instcombine does not deal with freeze(load !range)

Max Kazantsev via llvm-commits llvm-commits at lists.llvm.org
Sun Oct 16 22:29:52 PDT 2022


Author: Max Kazantsev
Date: 2022-10-17T12:08:49+07:00
New Revision: 95935d3f6d2dfab146c97325f97b208068bdabc1

URL: https://github.com/llvm/llvm-project/commit/95935d3f6d2dfab146c97325f97b208068bdabc1
DIFF: https://github.com/llvm/llvm-project/commit/95935d3f6d2dfab146c97325f97b208068bdabc1.diff

LOG: [Test] Add tests showing that instcombine does not deal with freeze(load !range)

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 73dbce42769e..50262a4aee08 100644
--- a/llvm/test/Transforms/InstCombine/freeze.ll
+++ b/llvm/test/Transforms/InstCombine/freeze.ll
@@ -1076,5 +1076,30 @@ define ptr @freeze_load_dereferenceable_or_null(ptr %ptr) {
   ret ptr %p.fr
 }
 
+define i32 @freeze_load_with_range(ptr %ptr) {
+; CHECK-LABEL: @freeze_load_with_range(
+; CHECK-NEXT:    [[X:%.*]] = load i32, ptr [[PTR:%.*]], align 4, !range [[RNG2:![0-9]+]]
+; CHECK-NEXT:    [[X_FR:%.*]] = freeze i32 [[X]]
+; CHECK-NEXT:    ret i32 [[X_FR]]
+;
+  %x = load i32, ptr %ptr, !range !2
+  %x.fr = freeze i32 %x
+  ret i32 %x.fr
+}
+
+declare i32 @foo.i32()
+
+define i32 @freeze_call_with_range() {
+; CHECK-LABEL: @freeze_call_with_range(
+; CHECK-NEXT:    [[X:%.*]] = call i32 @foo.i32(), !range [[RNG2]]
+; CHECK-NEXT:    [[X_FR:%.*]] = freeze i32 [[X]]
+; CHECK-NEXT:    ret i32 [[X_FR]]
+;
+  %x = call i32 @foo.i32(), !range !2
+  %x.fr = freeze i32 %x
+  ret i32 %x.fr
+}
+
 !0 = !{}
 !1 = !{i64 4}
+!2 = !{i32 0, i32 100}


        


More information about the llvm-commits mailing list