[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