Commit d913966
committed
[Flang][MLIR][OpenMP] Add explicit shared memory (de-)allocation ops
This patch introduces the `omp.alloc_shared_mem` and `omp.free_shared_mem`
operations to represent explicit allocations and deallocations of shared memory
across threads in a team, mirroring the existing `omp.target_allocmem` and
`omp.target_freemem`.
The `omp.alloc_shared_mem` op goes through the same Flang-specific
transformations as `omp.target_allocmem`, so that the size of the buffer can be
properly calculated when translating to LLVM IR.
The corresponding runtime functions produced for these new operations are
`__kmpc_alloc_shared` and `__kmpc_free_shared`, which previously could only be
created for implicit allocations (e.g. privatized and reduction variables).1 parent 1eccb26 commit d913966
File tree
8 files changed
+268
-38
lines changed- flang/lib/Optimizer/CodeGen
- llvm
- include/llvm/Frontend/OpenMP
- lib/Frontend/OpenMP
- mlir
- include/mlir/Dialect/OpenMP
- lib
- Dialect/OpenMP/IR
- Target/LLVMIR/Dialect/OpenMP
- test/Dialect/OpenMP
8 files changed
+268
-38
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
222 | 222 | | |
223 | 223 | | |
224 | 224 | | |
225 | | - | |
226 | | - | |
227 | | - | |
228 | | - | |
| 225 | + | |
| 226 | + | |
| 227 | + | |
| 228 | + | |
229 | 229 | | |
230 | 230 | | |
231 | | - | |
| 231 | + | |
| 232 | + | |
232 | 233 | | |
233 | 234 | | |
234 | 235 | | |
235 | | - | |
| 236 | + | |
236 | 237 | | |
237 | | - | |
| 238 | + | |
| 239 | + | |
238 | 240 | | |
239 | | - | |
240 | | - | |
| 241 | + | |
| 242 | + | |
241 | 243 | | |
242 | | - | |
| 244 | + | |
| 245 | + | |
243 | 246 | | |
244 | 247 | | |
245 | 248 | | |
246 | | - | |
| 249 | + | |
| 250 | + | |
| 251 | + | |
| 252 | + | |
| 253 | + | |
| 254 | + | |
247 | 255 | | |
248 | | - | |
249 | | - | |
| 256 | + | |
| 257 | + | |
| 258 | + | |
| 259 | + | |
| 260 | + | |
250 | 261 | | |
251 | 262 | | |
252 | 263 | | |
253 | | - | |
| 264 | + | |
| 265 | + | |
254 | 266 | | |
255 | 267 | | |
256 | 268 | | |
| |||
265 | 277 | | |
266 | 278 | | |
267 | 279 | | |
268 | | - | |
| 280 | + | |
| 281 | + | |
269 | 282 | | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
2950 | 2950 | | |
2951 | 2951 | | |
2952 | 2952 | | |
| 2953 | + | |
| 2954 | + | |
| 2955 | + | |
| 2956 | + | |
| 2957 | + | |
| 2958 | + | |
| 2959 | + | |
| 2960 | + | |
| 2961 | + | |
| 2962 | + | |
| 2963 | + | |
2953 | 2964 | | |
2954 | 2965 | | |
2955 | 2966 | | |
| |||
2961 | 2972 | | |
2962 | 2973 | | |
2963 | 2974 | | |
| 2975 | + | |
| 2976 | + | |
| 2977 | + | |
| 2978 | + | |
| 2979 | + | |
| 2980 | + | |
| 2981 | + | |
| 2982 | + | |
| 2983 | + | |
| 2984 | + | |
| 2985 | + | |
| 2986 | + | |
2964 | 2987 | | |
2965 | 2988 | | |
2966 | 2989 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
6855 | 6855 | | |
6856 | 6856 | | |
6857 | 6857 | | |
6858 | | - | |
| 6858 | + | |
6859 | 6859 | | |
6860 | 6860 | | |
6861 | 6861 | | |
6862 | 6862 | | |
6863 | | - | |
6864 | | - | |
| 6863 | + | |
6865 | 6864 | | |
6866 | 6865 | | |
6867 | | - | |
6868 | | - | |
| 6866 | + | |
| 6867 | + | |
6869 | 6868 | | |
6870 | 6869 | | |
6871 | 6870 | | |
| 6871 | + | |
| 6872 | + | |
| 6873 | + | |
| 6874 | + | |
| 6875 | + | |
| 6876 | + | |
| 6877 | + | |
6872 | 6878 | | |
6873 | | - | |
| 6879 | + | |
6874 | 6880 | | |
6875 | 6881 | | |
6876 | 6882 | | |
6877 | 6883 | | |
6878 | | - | |
6879 | | - | |
| 6884 | + | |
6880 | 6885 | | |
6881 | 6886 | | |
6882 | 6887 | | |
6883 | 6888 | | |
| 6889 | + | |
| 6890 | + | |
| 6891 | + | |
| 6892 | + | |
| 6893 | + | |
| 6894 | + | |
| 6895 | + | |
| 6896 | + | |
6884 | 6897 | | |
6885 | 6898 | | |
6886 | 6899 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
2202 | 2202 | | |
2203 | 2203 | | |
2204 | 2204 | | |
| 2205 | + | |
| 2206 | + | |
| 2207 | + | |
| 2208 | + | |
| 2209 | + | |
| 2210 | + | |
| 2211 | + | |
| 2212 | + | |
| 2213 | + | |
| 2214 | + | |
| 2215 | + | |
| 2216 | + | |
| 2217 | + | |
| 2218 | + | |
| 2219 | + | |
| 2220 | + | |
| 2221 | + | |
| 2222 | + | |
| 2223 | + | |
| 2224 | + | |
| 2225 | + | |
| 2226 | + | |
| 2227 | + | |
| 2228 | + | |
| 2229 | + | |
| 2230 | + | |
| 2231 | + | |
| 2232 | + | |
| 2233 | + | |
| 2234 | + | |
| 2235 | + | |
| 2236 | + | |
| 2237 | + | |
| 2238 | + | |
| 2239 | + | |
| 2240 | + | |
| 2241 | + | |
| 2242 | + | |
| 2243 | + | |
| 2244 | + | |
| 2245 | + | |
| 2246 | + | |
| 2247 | + | |
| 2248 | + | |
| 2249 | + | |
| 2250 | + | |
| 2251 | + | |
| 2252 | + | |
| 2253 | + | |
| 2254 | + | |
| 2255 | + | |
| 2256 | + | |
| 2257 | + | |
| 2258 | + | |
| 2259 | + | |
| 2260 | + | |
| 2261 | + | |
| 2262 | + | |
| 2263 | + | |
| 2264 | + | |
| 2265 | + | |
| 2266 | + | |
2205 | 2267 | | |
2206 | 2268 | | |
2207 | 2269 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
4161 | 4161 | | |
4162 | 4162 | | |
4163 | 4163 | | |
| 4164 | + | |
| 4165 | + | |
| 4166 | + | |
| 4167 | + | |
| 4168 | + | |
| 4169 | + | |
| 4170 | + | |
| 4171 | + | |
| 4172 | + | |
| 4173 | + | |
| 4174 | + | |
| 4175 | + | |
| 4176 | + | |
| 4177 | + | |
| 4178 | + | |
| 4179 | + | |
| 4180 | + | |
| 4181 | + | |
| 4182 | + | |
| 4183 | + | |
| 4184 | + | |
| 4185 | + | |
4164 | 4186 | | |
4165 | 4187 | | |
4166 | 4188 | | |
| |||
Lines changed: 55 additions & 13 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
6104 | 6104 | | |
6105 | 6105 | | |
6106 | 6106 | | |
6107 | | - | |
6108 | | - | |
6109 | | - | |
6110 | | - | |
6111 | | - | |
| 6107 | + | |
| 6108 | + | |
| 6109 | + | |
6112 | 6110 | | |
6113 | 6111 | | |
6114 | 6112 | | |
| |||
6135 | 6133 | | |
6136 | 6134 | | |
6137 | 6135 | | |
| 6136 | + | |
| 6137 | + | |
| 6138 | + | |
| 6139 | + | |
| 6140 | + | |
| 6141 | + | |
| 6142 | + | |
| 6143 | + | |
| 6144 | + | |
| 6145 | + | |
| 6146 | + | |
| 6147 | + | |
| 6148 | + | |
| 6149 | + | |
| 6150 | + | |
6138 | 6151 | | |
6139 | 6152 | | |
6140 | 6153 | | |
| |||
6149 | 6162 | | |
6150 | 6163 | | |
6151 | 6164 | | |
6152 | | - | |
6153 | | - | |
6154 | | - | |
6155 | | - | |
6156 | | - | |
6157 | | - | |
6158 | | - | |
6159 | | - | |
| 6165 | + | |
| 6166 | + | |
| 6167 | + | |
6160 | 6168 | | |
6161 | 6169 | | |
6162 | 6170 | | |
| |||
6167 | 6175 | | |
6168 | 6176 | | |
6169 | 6177 | | |
| 6178 | + | |
| 6179 | + | |
| 6180 | + | |
| 6181 | + | |
| 6182 | + | |
| 6183 | + | |
| 6184 | + | |
| 6185 | + | |
| 6186 | + | |
| 6187 | + | |
| 6188 | + | |
| 6189 | + | |
| 6190 | + | |
6170 | 6191 | | |
6171 | 6192 | | |
6172 | 6193 | | |
| |||
6202 | 6223 | | |
6203 | 6224 | | |
6204 | 6225 | | |
| 6226 | + | |
| 6227 | + | |
| 6228 | + | |
| 6229 | + | |
| 6230 | + | |
| 6231 | + | |
| 6232 | + | |
| 6233 | + | |
| 6234 | + | |
| 6235 | + | |
| 6236 | + | |
| 6237 | + | |
| 6238 | + | |
| 6239 | + | |
| 6240 | + | |
6205 | 6241 | | |
6206 | 6242 | | |
6207 | 6243 | | |
| |||
6382 | 6418 | | |
6383 | 6419 | | |
6384 | 6420 | | |
| 6421 | + | |
| 6422 | + | |
| 6423 | + | |
| 6424 | + | |
| 6425 | + | |
| 6426 | + | |
6385 | 6427 | | |
6386 | 6428 | | |
6387 | 6429 | | |
| |||
0 commit comments