[llvm] [InstCombine] Drop redundant dereferenceable assumptions (PR #202946)
Nikita Popov via llvm-commits
llvm-commits at lists.llvm.org
Thu Jun 11 03:46:29 PDT 2026
================
@@ -1257,6 +1257,23 @@ define void @assume_dereferenceable_variable_on_nullptr(i64 %count) {
ret void
}
+define void @redundant_assume_dereferenceable_2(ptr dereferenceable(2) %ptr) {
+; CHECK-LABEL: @redundant_assume_dereferenceable_2(
+; CHECK-NEXT: ret void
+;
+ call void @llvm.assume(i1 true) [ "dereferenceable"(ptr %ptr, i64 2) ]
+ ret void
+}
+
+define void @not_redundant_assume_dereferenceable_2(ptr dereferenceable(1) %ptr) {
+; CHECK-LABEL: @not_redundant_assume_dereferenceable_2(
+; CHECK-NEXT: call void @llvm.assume(i1 true) [ "dereferenceable"(ptr [[PTR:%.*]], i64 2) ]
+; CHECK-NEXT: ret void
+;
+ call void @llvm.assume(i1 true) [ "dereferenceable"(ptr %ptr, i64 2) ]
+ ret void
+}
----------------
nikic wrote:
Can you also add a test with two assumes, where one is redundant?
https://github.com/llvm/llvm-project/pull/202946
More information about the llvm-commits
mailing list