Skip to content

Commit 3187d4d

Browse files
committed
[Verifier] Add additional tests for dereferenceable assumptions.
1 parent c3e25e7 commit 3187d4d

File tree

1 file changed

+5
-0
lines changed

1 file changed

+5
-0
lines changed

llvm/test/Verifier/assume-bundles.ll

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,8 @@ define void @func(ptr %P, i32 %P1, ptr %P2, ptr %P3) {
99
call void @llvm.assume(i1 true) ["adazdazd"()]
1010
; CHECK: the second argument should be a constant integral value
1111
call void @llvm.assume(i1 true) ["dereferenceable"(ptr %P, i32 %P1)]
12+
; CHECK: the second argument should be a constant integral value
13+
call void @llvm.assume(i1 true) ["dereferenceable"(ptr %P, float 1.5)]
1214
; CHECK: too many arguments
1315
call void @llvm.assume(i1 true) ["dereferenceable"(ptr %P, i32 8, i32 8)]
1416
; CHECK: this attribute should have 2 arguments
@@ -28,5 +30,8 @@ define void @func(ptr %P, i32 %P1, ptr %P2, ptr %P3) {
2830
call void @llvm.assume(i1 true) ["separate_storage"(ptr %P)]
2931
; CHECK: arguments to separate_storage assumptions should be pointers
3032
call void @llvm.assume(i1 true) ["separate_storage"(ptr %P, i32 123)]
33+
; FIXME: The dereferenceable bundle is invalid.
34+
; CHECK-NOT: call {{.+}}dereferenceable
35+
call void @llvm.assume(i1 true) ["align"(ptr %P, i32 4), "dereferenceable"(ptr %P)]
3136
ret void
3237
}

0 commit comments

Comments
 (0)