Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1)

Side by Side Diff: test/NaCl/PNaClABI/intrinsics.ll

Issue 17777004: Concurrency support for PNaCl ABI (Closed) Base URL: http://git.chromium.org/native_client/pnacl-llvm.git@master
Patch Set: Fix bad merge. Created 7 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « test/NaCl/PNaClABI/instructions.ll ('k') | test/Transforms/NaCl/atomics.ll » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 ; RUN: pnacl-abicheck -pnaclabi-allow-dev-intrinsics=0 < %s | FileCheck %s 1 ; RUN: pnacl-abicheck -pnaclabi-allow-dev-intrinsics=0 < %s | FileCheck %s
2 ; RUN: pnacl-abicheck -pnaclabi-allow-dev-intrinsics=0 \ 2 ; RUN: pnacl-abicheck -pnaclabi-allow-dev-intrinsics=0 \
3 ; RUN: -pnaclabi-allow-debug-metadata < %s | FileCheck %s --check-prefix=DBG 3 ; RUN: -pnaclabi-allow-debug-metadata < %s | FileCheck %s --check-prefix=DBG
4 ; RUN: pnacl-abicheck -pnaclabi-allow-dev-intrinsics=1 < %s | \ 4 ; RUN: pnacl-abicheck -pnaclabi-allow-dev-intrinsics=1 < %s | \
5 ; RUN: FileCheck %s --check-prefix=DEV 5 ; RUN: FileCheck %s --check-prefix=DEV
6 6
7 ; Test that only white-listed intrinsics are allowed. 7 ; Test that only white-listed intrinsics are allowed.
8 8
9 ; =================================== 9 ; ===================================
10 ; Some disallowed "Dev" intrinsics. 10 ; Some disallowed "Dev" intrinsics.
11 ; CHECK: Function llvm.dbg.value is a disallowed LLVM intrinsic 11 ; CHECK: Function llvm.dbg.value is a disallowed LLVM intrinsic
12 ; DBG-NOT: Function llvm.dbg.value is a disallowed LLVM intrinsic 12 ; DBG-NOT: Function llvm.dbg.value is a disallowed LLVM intrinsic
13 ; DEV-NOT: Function llvm.dbg.value is a disallowed LLVM intrinsic 13 ; DEV-NOT: Function llvm.dbg.value is a disallowed LLVM intrinsic
14 declare void @llvm.dbg.value(metadata, i64, metadata) 14 declare void @llvm.dbg.value(metadata, i64, metadata)
15 15
16 ; =================================== 16 ; ===================================
17 ; Always allowed intrinsics. 17 ; Always allowed intrinsics.
18 18
19 declare void @llvm.memcpy.p0i8.p0i8.i32(i8* %dest, i8* %src, 19 declare void @llvm.memcpy.p0i8.p0i8.i32(i8* %dest, i8* %src,
20 i32 %len, i32 %align, i1 %isvolatile) 20 i32 %len, i32 %align, i1 %isvolatile)
21 declare void @llvm.memmove.p0i8.p0i8.i32(i8* %dest, i8* %src, 21 declare void @llvm.memmove.p0i8.p0i8.i32(i8* %dest, i8* %src,
22 i32 %len, i32 %align, i1 %isvolatile) 22 i32 %len, i32 %align, i1 %isvolatile)
23 declare void @llvm.memset.p0i8.i32(i8* %dest, i8 %val, 23 declare void @llvm.memset.p0i8.i32(i8* %dest, i8 %val,
24 i32 %len, i32 %align, i1 %isvolatile) 24 i32 %len, i32 %align, i1 %isvolatile)
25 25
26 declare i8* @llvm.nacl.read.tp() 26 declare i8* @llvm.nacl.read.tp()
27 27
28 declare i8 @llvm.nacl.atomic.load.i8(i8*, i32)
29 declare i16 @llvm.nacl.atomic.load.i16(i16*, i32)
30 declare i32 @llvm.nacl.atomic.load.i32(i32*, i32)
31 declare i64 @llvm.nacl.atomic.load.i64(i64*, i32)
32 declare void @llvm.nacl.atomic.store.i8(i8, i8*, i32)
33 declare void @llvm.nacl.atomic.store.i16(i16, i16*, i32)
34 declare void @llvm.nacl.atomic.store.i32(i32, i32*, i32)
35 declare void @llvm.nacl.atomic.store.i64(i64, i64*, i32)
36 declare i8 @llvm.nacl.atomic.rmw.i8(i32, i8*, i8, i32)
37 declare i16 @llvm.nacl.atomic.rmw.i16(i32, i16*, i16, i32)
38 declare i32 @llvm.nacl.atomic.rmw.i32(i32, i32*, i32, i32)
39 declare i64 @llvm.nacl.atomic.rmw.i64(i32, i64*, i64, i32)
40 declare i8 @llvm.nacl.atomic.cmpxchg.i8(i8*, i8, i8, i32, i32)
41 declare i16 @llvm.nacl.atomic.cmpxchg.i16(i16*, i16, i16, i32, i32)
42 declare i32 @llvm.nacl.atomic.cmpxchg.i32(i32*, i32, i32, i32, i32)
43 declare i64 @llvm.nacl.atomic.cmpxchg.i64(i64*, i64, i64, i32, i32)
44 declare void @llvm.nacl.atomic.fence(i32)
45
28 declare i16 @llvm.bswap.i16(i16) 46 declare i16 @llvm.bswap.i16(i16)
29 declare i32 @llvm.bswap.i32(i32) 47 declare i32 @llvm.bswap.i32(i32)
30 declare i64 @llvm.bswap.i64(i64) 48 declare i64 @llvm.bswap.i64(i64)
31 49
32 declare i32 @llvm.cttz.i32(i32, i1) 50 declare i32 @llvm.cttz.i32(i32, i1)
33 declare i64 @llvm.cttz.i64(i64, i1) 51 declare i64 @llvm.cttz.i64(i64, i1)
34 52
35 declare i32 @llvm.ctlz.i32(i32, i1) 53 declare i32 @llvm.ctlz.i32(i32, i1)
36 declare i64 @llvm.ctlz.i64(i64, i1) 54 declare i64 @llvm.ctlz.i64(i64, i1)
37 55
(...skipping 74 matching lines...) Expand 10 before | Expand all | Expand 10 after
112 declare void @llvm.memmove.p0i8.p0i8.i64(i8* %dest, i8* %src, 130 declare void @llvm.memmove.p0i8.p0i8.i64(i8* %dest, i8* %src,
113 i64 %len, i32 %align, i1 %isvolatile) 131 i64 %len, i32 %align, i1 %isvolatile)
114 ; CHECK: Function llvm.memset.p0i8.i64 is a disallowed LLVM intrinsic 132 ; CHECK: Function llvm.memset.p0i8.i64 is a disallowed LLVM intrinsic
115 declare void @llvm.memset.p0i8.i64(i8* %dest, i8 %val, 133 declare void @llvm.memset.p0i8.i64(i8* %dest, i8 %val,
116 i64 %len, i32 %align, i1 %isvolatile) 134 i64 %len, i32 %align, i1 %isvolatile)
117 135
118 ; Test that the ABI checker checks the full function name. 136 ; Test that the ABI checker checks the full function name.
119 ; CHECK: Function llvm.memset.foo is a disallowed LLVM intrinsic 137 ; CHECK: Function llvm.memset.foo is a disallowed LLVM intrinsic
120 declare void @llvm.memset.foo(i8* %dest, i8 %val, 138 declare void @llvm.memset.foo(i8* %dest, i8 %val,
121 i64 %len, i32 %align, i1 %isvolatile) 139 i64 %len, i32 %align, i1 %isvolatile)
OLDNEW
« no previous file with comments | « test/NaCl/PNaClABI/instructions.ll ('k') | test/Transforms/NaCl/atomics.ll » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698