[Mlir-commits] [llvm] [mlir] [IR] Forbid mixing condition and operand bundle assumes (PR #160460)

Ramkumar Ramachandra llvmlistbot at llvm.org
Wed Sep 24 02:13:12 PDT 2025


================
@@ -495,30 +495,6 @@ not_taken:
   ret i1 %rval.2
 }
 
-define i1 @nonnull3B(ptr %a, i1 %control) {
-; CHECK-LABEL: @nonnull3B(
-; CHECK-NEXT:  entry:
-; CHECK-NEXT:    br i1 [[CONTROL:%.*]], label [[TAKEN:%.*]], label [[NOT_TAKEN:%.*]]
-; CHECK:       taken:
-; CHECK-NEXT:    [[LOAD:%.*]] = load ptr, ptr [[A:%.*]], align 8
-; CHECK-NEXT:    [[CMP:%.*]] = icmp ne ptr [[LOAD]], null
-; CHECK-NEXT:    call void @llvm.assume(i1 [[CMP]]) [ "nonnull"(ptr [[LOAD]]) ]
-; CHECK-NEXT:    ret i1 [[CMP]]
-; CHECK:       not_taken:
-; CHECK-NEXT:    ret i1 false
-;
-entry:
-  %load = load ptr, ptr %a
-  %cmp = icmp ne ptr %load, null
-  br i1 %control, label %taken, label %not_taken
-taken:
-  call void @llvm.assume(i1 %cmp) ["nonnull"(ptr %load)]
-  ret i1 %cmp
-not_taken:
-  call void @llvm.assume(i1 %cmp) ["nonnull"(ptr %load)]
-  ret i1 %control
----------------
artagnon wrote:

Might be good to keep this test, but split the assume into two assumes?

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


More information about the Mlir-commits mailing list