]> git.saurik.com Git - apple/xnu.git/blob - tools/cocci/mcache_atomic_rewrite.cocci
xnu-7195.50.7.100.1.tar.gz
[apple/xnu.git] / tools / cocci / mcache_atomic_rewrite.cocci
1 // To apply, at the top of xnu.git:
2 // $ spatch --max-width=120 --use-gitgrep --in-place --include-headers --sp-file tools/cocci/mcache_atomic_rewrite.cocci -dir .
3 //
4 // coccinelle insists on adding a space for (void) casts which can be fixed with:
5 // $ git grep -l '(void) os_atomic' | xargs -n1 sed -i '' -e 's/(void) os_atomic/(void)os_atomic/'
6
7 @@ expression E, F, A; @@
8
9 (
10 - atomic_add_16_ov(E, 1)
11 + os_atomic_inc_orig(E, relaxed)
12 |
13 - atomic_add_16(E, 1)
14 + os_atomic_inc(E, relaxed)
15 |
16 - atomic_add_32_ov(E, 1)
17 + os_atomic_inc_orig(E, relaxed)
18 |
19 - atomic_add_32(E, 1)
20 + os_atomic_inc(E, relaxed)
21 |
22 - atomic_add_64_ov(E, 1)
23 + os_atomic_inc_orig(E, relaxed)
24 |
25 - atomic_add_64(E, 1)
26 + os_atomic_inc(E, relaxed)
27 |
28 - atomic_add_16_ov(E, -1)
29 + os_atomic_dec_orig(E, relaxed)
30 |
31 - atomic_add_16(E, -1)
32 + os_atomic_dec(E, relaxed)
33 |
34 - atomic_add_32_ov(E, -1)
35 + os_atomic_dec_orig(E, relaxed)
36 |
37 - atomic_add_32(E, -1)
38 + os_atomic_dec(E, relaxed)
39 |
40 - atomic_add_64_ov(E, -1)
41 + os_atomic_dec_orig(E, relaxed)
42 |
43 - atomic_add_64(E, -1)
44 + os_atomic_dec(E, relaxed)
45 |
46 - atomic_add_16_ov(E, F)
47 + os_atomic_add_orig(E, F, relaxed)
48 |
49 - atomic_add_16(E, F)
50 + os_atomic_add(E, F, relaxed)
51 |
52 - atomic_add_32_ov(E, F)
53 + os_atomic_add_orig(E, F, relaxed)
54 |
55 - atomic_add_32(E, F)
56 + os_atomic_add(E, F, relaxed)
57 |
58 - atomic_add_64_ov(E, F)
59 + os_atomic_add_orig(E, F, relaxed)
60 |
61 - atomic_add_64(E, F)
62 + os_atomic_add(E, F, relaxed)
63 |
64 - atomic_test_set_32(A, E, F)
65 + os_atomic_cmpxchg(A, E, F, acq_rel)
66 |
67 - atomic_test_set_64(A, E, F)
68 + os_atomic_cmpxchg(A, E, F, acq_rel)
69 |
70 - atomic_test_set_ptr(A, E, F)
71 + os_atomic_cmpxchg(A, E, F, acq_rel)
72 |
73 - atomic_set_32(E, F)
74 + os_atomic_store(E, F, release)
75 |
76 - atomic_set_64(E, F)
77 + os_atomic_store(E, F, release)
78 |
79 - atomic_set_ptr(E, F)
80 + os_atomic_store(E, F, release)
81 |
82 - atomic_get_64(E, A)
83 + E = os_atomic_load(A, relaxed)
84 |
85 - membar_sync()
86 + os_atomic_thread_fence(seq_cst)
87 |
88 - atomic_or_8_ov(E, F)
89 + os_atomic_or_orig(E, F, relaxed)
90 |
91 - atomic_or_16_ov(E, F)
92 + os_atomic_or_orig(E, F, relaxed)
93 |
94 - atomic_or_32_ov(E, F)
95 + os_atomic_or_orig(E, F, relaxed)
96 |
97 - atomic_or_8(E, F)
98 + os_atomic_or(E, F, relaxed)
99 |
100 - atomic_or_16(E, F)
101 + os_atomic_or(E, F, relaxed)
102 |
103 - atomic_or_32(E, F)
104 + os_atomic_or(E, F, relaxed)
105 |
106 - atomic_and_8_ov(E, F)
107 + os_atomic_and_orig(E, F, relaxed)
108 |
109 - atomic_and_16_ov(E, F)
110 + os_atomic_and_orig(E, F, relaxed)
111 |
112 - atomic_and_32_ov(E, F)
113 + os_atomic_and_orig(E, F, relaxed)
114 |
115 - atomic_and_8(E, F)
116 + os_atomic_and(E, F, relaxed)
117 |
118 - atomic_and_16(E, F)
119 + os_atomic_and(E, F, relaxed)
120 |
121 - atomic_and_32(E, F)
122 + os_atomic_and(E, F, relaxed)
123 |
124 - atomic_bitset_8_ov(E, F)
125 + os_atomic_or_orig(E, F, relaxed)
126 |
127 - atomic_bitset_16_ov(E, F)
128 + os_atomic_or_orig(E, F, relaxed)
129 |
130 - atomic_bitset_32_ov(E, F)
131 + os_atomic_or_orig(E, F, relaxed)
132 |
133 - atomic_bitset_8(E, F)
134 + os_atomic_or(E, F, relaxed)
135 |
136 - atomic_bitset_16(E, F)
137 + os_atomic_or(E, F, relaxed)
138 |
139 - atomic_bitset_32(E, F)
140 + os_atomic_or(E, F, relaxed)
141 |
142 - atomic_bitclear_8_ov(E, F)
143 + os_atomic_andnot_orig(E, F, relaxed)
144 |
145 - atomic_bitclear_16_ov(E, F)
146 + os_atomic_andnot_orig(E, F, relaxed)
147 |
148 - atomic_bitclear_32_ov(E, F)
149 + os_atomic_andnot_orig(E, F, relaxed)
150 |
151 - atomic_bitclear_8(E, F)
152 + os_atomic_andnot(E, F, relaxed)
153 |
154 - atomic_bitclear_16(E, F)
155 + os_atomic_andnot(E, F, relaxed)
156 |
157 - atomic_bitclear_32(E, F)
158 + os_atomic_andnot(E, F, relaxed)
159 )