[llvm] [InstCombine] Move nonnull assumptions to the base of a gep (PR #195650)

Nikolas Klauser via llvm-commits llvm-commits at lists.llvm.org
Mon Jun 8 22:49:49 PDT 2026


================
@@ -761,6 +761,21 @@ define void @nonnull_gep_inbounds_bundle(ptr %p, i64 %i) {
   ret void
 }
 
+define void @nonnull_gep_inbounds_bundle_null_is_valid(ptr %p, i64 %i) null_pointer_is_valid {
+; DEFAULT-LABEL: @nonnull_gep_inbounds_bundle_null_is_valid(
+; DEFAULT-NEXT:    [[P2:%.*]] = getelementptr inbounds i8, ptr [[P:%.*]], i64 [[I:%.*]]
+; DEFAULT-NEXT:    call void @llvm.assume(i1 true) [ "nonnull"(ptr [[P2]]) ]
+; DEFAULT-NEXT:    ret void
+;
+; BUNDLES-LABEL: @nonnull_gep_inbounds_bundle_null_is_valid(
+; BUNDLES-NEXT:    call void @llvm.assume(i1 true) [ "nonnull"(ptr [[P:%.*]]) ]
----------------
philnik777 wrote:

This is preexisting.

https://github.com/llvm/llvm-project/pull/195650


More information about the llvm-commits mailing list