61 lines · plain
1; RUN: not llvm-as < %s -o /dev/null 2>&1 | FileCheck %s2 3; CHECK: It should have at least one range!4; CHECK-NEXT: !0 = !{}5define i64 @noalias_addrspace__empty(ptr %ptr, i64 %val) {6 %ret = atomicrmw add ptr %ptr, i64 %val seq_cst, !noalias.addrspace !07 ret i64 %ret8}9 10; CHECK: Unfinished range!11; CHECK-NEXT: !1 = !{i32 0}12define i64 @noalias_addrspace__single_field(ptr %ptr, i64 %val) {13 %ret = atomicrmw add ptr %ptr, i64 %val seq_cst, !noalias.addrspace !114 ret i64 %ret15}16 17; CHECK: Range must not be empty!18; CHECK-NEXT: !2 = !{i32 0, i32 0}19define i64 @noalias_addrspace__0_0(ptr %ptr, i64 %val) {20 %ret = atomicrmw add ptr %ptr, i64 %val seq_cst, !noalias.addrspace !221 ret i64 %ret22}23 24; CHECK: noalias.addrspace type must be i32!25; CHECK-NEXT: %ret = atomicrmw add ptr %ptr, i64 %val seq_cst, align 8, !noalias.addrspace !326define i64 @noalias_addrspace__i64(ptr %ptr, i64 %val) {27 %ret = atomicrmw add ptr %ptr, i64 %val seq_cst, !noalias.addrspace !328 ret i64 %ret29}30 31; CHECK: The lower limit must be an integer!32define i64 @noalias_addrspace__fp(ptr %ptr, i64 %val) {33 %ret = atomicrmw add ptr %ptr, i64 %val seq_cst, !noalias.addrspace !434 ret i64 %ret35}36 37; CHECK: The lower limit must be an integer!38define i64 @noalias_addrspace__ptr(ptr %ptr, i64 %val) {39 %ret = atomicrmw add ptr %ptr, i64 %val seq_cst, !noalias.addrspace !540 ret i64 %ret41}42 43; CHECK: The lower limit must be an integer!44define i64 @noalias_addrspace__nonconstant(ptr %ptr, i64 %val) {45 %ret = atomicrmw add ptr %ptr, i64 %val seq_cst, !noalias.addrspace !646 ret i64 %ret47}48 49@gv0 = global i32 050@gv1 = global i32 151 52!0 = !{}53!1 = !{i32 0}54!2 = !{i32 0, i32 0}55!3 = !{i64 1, i64 5}56!4 = !{float 0.0, float 2.0}57!5 = !{ptr null, ptr addrspace(1) null}58!6 = !{i32 ptrtoint (ptr @gv0 to i32), i32 ptrtoint (ptr @gv1 to i32) }59 60 61