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

Side by Side Diff: test/Transforms/NaCl/resolve-pnacl-intrinsics-lock-free.ll

Issue 1692803002: Remove Emscripten support (Closed) Base URL: https://chromium.googlesource.com/a/native_client/pnacl-llvm.git@master
Patch Set: Created 4 years, 10 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/Transforms/NaCl/expand-varargs-emscripten.ll ('k') | tools/bugpoint/CMakeLists.txt » ('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: opt < %s -resolve-pnacl-intrinsics -mtriple=x86_64 -S | FileCheck %s -che ck-prefix=CLEANED 1 ; RUN: opt < %s -resolve-pnacl-intrinsics -mtriple=x86_64 -S | FileCheck %s -che ck-prefix=CLEANED
2 ; 'CLEANED' only needs to check a single architecture. 2 ; 'CLEANED' only needs to check a single architecture.
3 ; RUN: opt < %s -resolve-pnacl-intrinsics -mtriple=x86_64 -S | FileCheck %s -che ck-prefix=X8664 3 ; RUN: opt < %s -resolve-pnacl-intrinsics -mtriple=x86_64 -S | FileCheck %s -che ck-prefix=X8664
4 ; RUN: opt < %s -resolve-pnacl-intrinsics -mtriple=i386 -S | FileCheck %s -che ck-prefix=X8632 4 ; RUN: opt < %s -resolve-pnacl-intrinsics -mtriple=i386 -S | FileCheck %s -che ck-prefix=X8632
5 ; RUN: opt < %s -resolve-pnacl-intrinsics -mtriple=arm -S | FileCheck %s -che ck-prefix=ARM32 5 ; RUN: opt < %s -resolve-pnacl-intrinsics -mtriple=arm -S | FileCheck %s -che ck-prefix=ARM32
6 ; RUN: opt < %s -resolve-pnacl-intrinsics -mtriple=mipsel -S | FileCheck %s -che ck-prefix=MIPS32 6 ; RUN: opt < %s -resolve-pnacl-intrinsics -mtriple=mipsel -S | FileCheck %s -che ck-prefix=MIPS32
7 ; RUN: opt < %s -resolve-pnacl-intrinsics -mtriple=asmjs -S | FileCheck %s -che ck-prefix=ASMJS
8 7
9 ; CLEANED-NOT: call {{.*}} @llvm.nacl.atomic 8 ; CLEANED-NOT: call {{.*}} @llvm.nacl.atomic
10 9
11 declare i32 @llvm.nacl.setjmp(i8*) 10 declare i32 @llvm.nacl.setjmp(i8*)
12 declare void @llvm.nacl.longjmp(i8*, i32) 11 declare void @llvm.nacl.longjmp(i8*, i32)
13 declare i1 @llvm.nacl.atomic.is.lock.free(i32, i8*) 12 declare i1 @llvm.nacl.atomic.is.lock.free(i32, i8*)
14 13
15 ; These declarations must be here because the function pass expects 14 ; These declarations must be here because the function pass expects
16 ; to find them. In real life they're inserted by the translator 15 ; to find them. In real life they're inserted by the translator
17 ; before the function pass runs. 16 ; before the function pass runs.
18 declare i32 @setjmp(i8*) 17 declare i32 @setjmp(i8*)
19 declare void @longjmp(i8*, i32) 18 declare void @longjmp(i8*, i32)
20 19
21 20
22 ; X8664-LABEL: @test_is_lock_free_1( 21 ; X8664-LABEL: @test_is_lock_free_1(
23 ; X8632-LABEL: @test_is_lock_free_1( 22 ; X8632-LABEL: @test_is_lock_free_1(
24 ; ARM32-LABEL: @test_is_lock_free_1( 23 ; ARM32-LABEL: @test_is_lock_free_1(
25 ; MIPS32-LABEL: @test_is_lock_free_1( 24 ; MIPS32-LABEL: @test_is_lock_free_1(
26 ; ASMJS-LABEL: @test_is_lock_free_1(
27 ; X8664: ret i1 true 25 ; X8664: ret i1 true
28 ; X8632: ret i1 true 26 ; X8632: ret i1 true
29 ; ARM32: ret i1 true 27 ; ARM32: ret i1 true
30 ; MIPS32: ret i1 true 28 ; MIPS32: ret i1 true
31 ; ASMJS: ret i1 true
32 define i1 @test_is_lock_free_1(i8* %ptr) { 29 define i1 @test_is_lock_free_1(i8* %ptr) {
33 %res = call i1 @llvm.nacl.atomic.is.lock.free(i32 1, i8* %ptr) 30 %res = call i1 @llvm.nacl.atomic.is.lock.free(i32 1, i8* %ptr)
34 ret i1 %res 31 ret i1 %res
35 } 32 }
36 33
37 ; X8664-LABEL: @test_is_lock_free_2( 34 ; X8664-LABEL: @test_is_lock_free_2(
38 ; X8632-LABEL: @test_is_lock_free_2( 35 ; X8632-LABEL: @test_is_lock_free_2(
39 ; ARM32-LABEL: @test_is_lock_free_2( 36 ; ARM32-LABEL: @test_is_lock_free_2(
40 ; MIPS32-LABEL: @test_is_lock_free_2( 37 ; MIPS32-LABEL: @test_is_lock_free_2(
41 ; ASMJS-LABEL: @test_is_lock_free_2(
42 ; X8664: ret i1 true 38 ; X8664: ret i1 true
43 ; X8632: ret i1 true 39 ; X8632: ret i1 true
44 ; ARM32: ret i1 true 40 ; ARM32: ret i1 true
45 ; MIPS32: ret i1 true 41 ; MIPS32: ret i1 true
46 ; ASMJS: ret i1 true
47 define i1 @test_is_lock_free_2(i16* %ptr) { 42 define i1 @test_is_lock_free_2(i16* %ptr) {
48 %ptr2 = bitcast i16* %ptr to i8* 43 %ptr2 = bitcast i16* %ptr to i8*
49 %res = call i1 @llvm.nacl.atomic.is.lock.free(i32 2, i8* %ptr2) 44 %res = call i1 @llvm.nacl.atomic.is.lock.free(i32 2, i8* %ptr2)
50 ret i1 %res 45 ret i1 %res
51 } 46 }
52 47
53 ; X8664-LABEL: @test_is_lock_free_4( 48 ; X8664-LABEL: @test_is_lock_free_4(
54 ; X8632-LABEL: @test_is_lock_free_4( 49 ; X8632-LABEL: @test_is_lock_free_4(
55 ; ARM32-LABEL: @test_is_lock_free_4( 50 ; ARM32-LABEL: @test_is_lock_free_4(
56 ; MIPS32-LABEL: @test_is_lock_free_4( 51 ; MIPS32-LABEL: @test_is_lock_free_4(
57 ; ASMJS-LABEL: @test_is_lock_free_4(
58 ; X8664: ret i1 true 52 ; X8664: ret i1 true
59 ; X8632: ret i1 true 53 ; X8632: ret i1 true
60 ; ARM32: ret i1 true 54 ; ARM32: ret i1 true
61 ; MIPS32: ret i1 true 55 ; MIPS32: ret i1 true
62 ; ASMJS: ret i1 true
63 define i1 @test_is_lock_free_4(i32* %ptr) { 56 define i1 @test_is_lock_free_4(i32* %ptr) {
64 %ptr2 = bitcast i32* %ptr to i8* 57 %ptr2 = bitcast i32* %ptr to i8*
65 %res = call i1 @llvm.nacl.atomic.is.lock.free(i32 4, i8* %ptr2) 58 %res = call i1 @llvm.nacl.atomic.is.lock.free(i32 4, i8* %ptr2)
66 ret i1 %res 59 ret i1 %res
67 } 60 }
68 61
69 ; X8664-LABEL: @test_is_lock_free_8( 62 ; X8664-LABEL: @test_is_lock_free_8(
70 ; X8632-LABEL: @test_is_lock_free_8( 63 ; X8632-LABEL: @test_is_lock_free_8(
71 ; ARM32-LABEL: @test_is_lock_free_8( 64 ; ARM32-LABEL: @test_is_lock_free_8(
72 ; MIPS32-LABEL: @test_is_lock_free_8( 65 ; MIPS32-LABEL: @test_is_lock_free_8(
73 ; ASMJS-LABEL: @test_is_lock_free_8(
74 ; X8664: ret i1 true 66 ; X8664: ret i1 true
75 ; X8632: ret i1 true 67 ; X8632: ret i1 true
76 ; ARM32: ret i1 true 68 ; ARM32: ret i1 true
77 ; MIPS32: ret i1 false 69 ; MIPS32: ret i1 false
78 ; ASMJS: ret i1 false
79 define i1 @test_is_lock_free_8(i64* %ptr) { 70 define i1 @test_is_lock_free_8(i64* %ptr) {
80 %ptr2 = bitcast i64* %ptr to i8* 71 %ptr2 = bitcast i64* %ptr to i8*
81 %res = call i1 @llvm.nacl.atomic.is.lock.free(i32 8, i8* %ptr2) 72 %res = call i1 @llvm.nacl.atomic.is.lock.free(i32 8, i8* %ptr2)
82 ret i1 %res 73 ret i1 %res
83 } 74 }
84 75
85 ; X8664-LABEL: @test_is_lock_free_16( 76 ; X8664-LABEL: @test_is_lock_free_16(
86 ; X8632-LABEL: @test_is_lock_free_16( 77 ; X8632-LABEL: @test_is_lock_free_16(
87 ; ARM32-LABEL: @test_is_lock_free_16( 78 ; ARM32-LABEL: @test_is_lock_free_16(
88 ; MIPS32-LABEL: @test_is_lock_free_16( 79 ; MIPS32-LABEL: @test_is_lock_free_16(
89 ; ASMJS-LABEL: @test_is_lock_free_16(
90 ; X8664: ret i1 false 80 ; X8664: ret i1 false
91 ; X8632: ret i1 false 81 ; X8632: ret i1 false
92 ; ARM32: ret i1 false 82 ; ARM32: ret i1 false
93 ; MIPS32: ret i1 false 83 ; MIPS32: ret i1 false
94 ; ASMJS: ret i1 false
95 define i1 @test_is_lock_free_16(i128* %ptr) { 84 define i1 @test_is_lock_free_16(i128* %ptr) {
96 %ptr2 = bitcast i128* %ptr to i8* 85 %ptr2 = bitcast i128* %ptr to i8*
97 %res = call i1 @llvm.nacl.atomic.is.lock.free(i32 16, i8* %ptr2) 86 %res = call i1 @llvm.nacl.atomic.is.lock.free(i32 16, i8* %ptr2)
98 ret i1 %res 87 ret i1 %res
99 } 88 }
OLDNEW
« no previous file with comments | « test/Transforms/NaCl/expand-varargs-emscripten.ll ('k') | tools/bugpoint/CMakeLists.txt » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698