1 ; RUN: not llvm-as %s -o /dev/null 2>&1 | FileCheck %s
3 define void @test(ptr %p) {
4 load i8, ptr %p, !noalias !0
5 load i8, ptr %p, !noalias !1
6 load i8, ptr %p, !noalias !3
7 load i8, ptr %p, !noalias !5
8 load i8, ptr %p, !noalias !7
9 load i8, ptr %p, !noalias !9
10 load i8, ptr %p, !noalias !11
11 load i8, ptr %p, !noalias !14
12 load i8, ptr %p, !alias.scope !17
13 call void @llvm.experimental.noalias.scope.decl(metadata !20)
17 declare void @llvm.experimental.noalias.scope.decl(metadata)
19 ; CHECK: scope list must consist of MDNodes
22 ; CHECK: scope must have two or three operands
26 ; CHECK: scope must have two or three operands
28 !4 = !{!4, !5, !6, !7}
30 ; CHECK: first scope operand must be self-referential or string
34 ; CHECK: third scope operand must be string (if used)
38 ; CHECK: second scope operand must be MDNode
42 ; CHECK: domain must have one or two operands
47 ; CHECK: domain must have one or two operands
50 !16 = !{!17, !18, !19}
52 ; CHECK: first domain operand must be self-referential or string
57 ; CHECK: second domain operand must be string (if used)