]> gcc.gnu.org Git - gcc.git/blob - libgomp/ChangeLog.omp
c01fa632080739340e8cb5806b7796c0a5968d46
[gcc.git] / libgomp / ChangeLog.omp
1 2022-09-24 Tobias Burnus <tobias@codesourcery.com>
2
3 Backport from mainline:
4 2022-09-24 Jakub Jelinek <jakub@redhat.com>
5
6 PR c/106981
7 * testsuite/libgomp.c-c++-common/pr106981.c: New test.
8
9 2022-09-13 Tobias Burnus <tobias@codesourcery.com>
10
11 Backport from mainline:
12 2022-09-13 Jakub Jelinek <jakub@redhat.com>
13
14 PR libgomp/106906
15 * env.c (get_icv_member_addr): Cast false to void * before assigning
16 it to icv_addr[1], and comment the whole assignment out.
17
18 2022-09-13 Tobias Burnus <tobias@codesourcery.com>
19
20 Backport from mainline:
21 2022-09-13 Tobias Burnus <tobias@codesourcery.com>
22
23 * libgomp.texi (gcn): Move misplaced -march=sm_30 remark to ...
24 (nvptx): ... here.
25
26 2022-09-12 Tobias Burnus <tobias@codesourcery.com>
27
28 Backport from mainline:
29 2022-09-12 Tobias Burnus <tobias@codesourcery.com>
30
31 * libgomp.texi (Offload-Target Specifics: nvptx): Document
32 that reverse offload requires >= -march=sm_35.
33 * testsuite/libgomp.c-c++-common/requires-4.c: Build for nvptx
34 with -misa=sm_35.
35 * testsuite/libgomp.c-c++-common/requires-5.c: Likewise.
36 * testsuite/libgomp.c-c++-common/requires-6.c: Likewise.
37 * testsuite/libgomp.c-c++-common/reverse-offload-1.c: Likewise.
38 * testsuite/libgomp.fortran/reverse-offload-1.f90: Likewise.
39 * testsuite/libgomp.c/reverse-offload-sm30.c: New test.
40
41 2022-09-12 Tobias Burnus <tobias@codesourcery.com>
42
43 Backport from mainline:
44 2022-09-12 Tobias Burnus <tobias@codesourcery.com>
45
46 * libgomp.texi (OpenMP 5.1 Impl. Status): Add two new minor items.
47 (OpenMP 5.2 Impl. Status): Improve omp/omx/ompx wording.
48
49 2022-09-12 Tobias Burnus <tobias@codesourcery.com>
50
51 Backport from mainline:
52 2022-09-12 Jakub Jelinek <jakub@redhat.com>
53
54 PR libgomp/106894
55 * testsuite/libgomp.c-c++-common/icv-6.c: Include string.h.
56 (main): Avoid tests for which corresponding non-_ALL suffixed variable
57 is in the environment, or for OMP_NUM_TEAMS on the device
58 OMP_NUM_TEAMS_DEV_?.
59
60 2022-09-12 Tobias Burnus <tobias@codesourcery.com>
61
62 Backport from mainline:
63 2022-09-10 Iain Sandoe <iain@sandoe.co.uk>
64
65 * env.c (initialize_env): Include libiberty environ.h.
66
67 2022-09-12 Tobias Burnus <tobias@codesourcery.com>
68
69 Backport from mainline:
70 2022-09-09 Tobias Burnus <tobias@codesourcery.com>
71
72 * plugin/plugin-nvptx.c (GOMP_OFFLOAD_load_image): Read offload
73 function address table '$offload_func_table' if rev_fn_table
74 is not NULL.
75
76 2022-09-12 Tobias Burnus <tobias@codesourcery.com>
77
78 Backport from mainline:
79 2022-09-09 Tobias Burnus <tobias@codesourcery.com>
80
81 * plugin/plugin-gcn.c (GOMP_OFFLOAD_load_image): Read
82 .offload_func_table to populate rev_fn_table when requested.
83
84 2022-09-12 Tobias Burnus <tobias@codesourcery.com>
85
86 Backport from mainline:
87 2022-09-09 Tobias Burnus <tobias@codesourcery.com>
88
89 * libgomp-plugin.h (GOMP_OFFLOAD_load_image): Add
90 'uint64_t **rev_fn_table' argument.
91 * oacc-host.c (host_load_image): Likewise.
92 * plugin/plugin-gcn.c (GOMP_OFFLOAD_load_image): Likewise;
93 currently unused.
94 * plugin/plugin-nvptx.c (GOMP_OFFLOAD_load_image): Likewise.
95 * target.c (gomp_load_image_to_device): Update call but pass
96 NULL for now.
97
98 2022-09-09 Tobias Burnus <tobias@codesourcery.com>
99
100 Backport from mainline:
101 2022-09-09 Jakub Jelinek <jakub@redhat.com>
102
103 PR libgomp/106894
104 * env.c (initialize_env) <case PARSE_BIND>: Use char ** instead of
105 char * for dest[1] initialization from params[1]. Formatting fixes.
106
107 2022-09-09 Tobias Burnus <tobias@codesourcery.com>
108
109 Backport from mainline:
110 2022-09-08 Tobias Burnus <tobias@codesourcery.com>
111
112 PR fortran/106670
113 * libgomp.texi (OpenMP 5.2): Add comment to ompx/omx entry.
114
115 2022-09-09 Tobias Burnus <tobias@codesourcery.com>
116
117 Backport from mainline:
118 2022-09-08 Tobias Burnus <tobias@codesourcery.com>
119
120 * libgomp.texi (OpenMP-Implementation Specifics): New; add libmemkind
121 section; move OpenMP Context Selectors from ...
122 (Offload-Target Specifics): ... here; add 'AMD Radeo (GCN)' and
123 'nvptx' sections.
124
125 2022-09-09 Tobias Burnus <tobias@codesourcery.com>
126
127 Backport from mainline:
128 2022-09-08 Marcel Vollweiler <marcel@codesourcery.com>
129
130 * config/gcn/icv-device.c (omp_get_default_device): Return device-
131 specific ICV.
132 (omp_get_max_teams): Added for GCN devices.
133 (omp_set_num_teams): Likewise.
134 (ialias): Likewise.
135 * config/nvptx/icv-device.c (omp_get_default_device): Return device-
136 specific ICV.
137 (omp_get_max_teams): Added for NVPTX devices.
138 (omp_set_num_teams): Likewise.
139 (ialias): Likewise.
140 * env.c (struct gomp_icv_list): New struct to store entries of initial
141 ICV values.
142 (struct gomp_offload_icv_list): New struct to store entries of device-
143 specific ICV values that are copied to the device and back.
144 (struct gomp_default_icv_values): New struct to store default values of
145 ICVs according to the OpenMP standard.
146 (parse_schedule): Generalized for different variants of OMP_SCHEDULE.
147 (print_env_var_error): Function that prints an error for invalid values
148 for ICVs.
149 (parse_unsigned_long_1): Removed getenv. Generalized.
150 (parse_unsigned_long): Likewise.
151 (parse_int_1): Likewise.
152 (parse_int): Likewise.
153 (parse_int_secure): Likewise.
154 (parse_unsigned_long_list): Likewise.
155 (parse_target_offload): Likewise.
156 (parse_bind_var): Likewise.
157 (parse_stacksize): Likewise.
158 (parse_boolean): Likewise.
159 (parse_wait_policy): Likewise.
160 (parse_allocator): Likewise.
161 (omp_display_env): Extended to output different variants of environment
162 variables.
163 (print_schedule): New helper function for omp_display_env which prints
164 the values of run_sched_var.
165 (print_proc_bind): New helper function for omp_display_env which prints
166 the values of proc_bind_var.
167 (enum gomp_parse_type): Collection of types used for parsing environment
168 variables.
169 (ENTRY): Preprocess string lengths of environment variables.
170 (OMP_VAR_CNT): Preprocess table size.
171 (OMP_HOST_VAR_CNT): Likewise.
172 (INT_MAX_STR_LEN): Constant for the maximal number of digits of a device
173 number.
174 (gomp_get_icv_flag): Returns if a flag for a particular ICV is set.
175 (gomp_set_icv_flag): Sets a flag for a particular ICV.
176 (print_device_specific_icvs): New helper function for omp_display_env to
177 print device specific ICV values.
178 (get_device_num): New helper function for parse_device_specific.
179 Extracts the device number from an environment variable name.
180 (get_icv_member_addr): Gets the memory address for a particular member
181 of an ICV struct.
182 (gomp_get_initial_icv_item): Get a list item of gomp_initial_icv_list.
183 (initialize_icvs): New function to initialize a gomp_initial_icvs
184 struct.
185 (add_initial_icv_to_list): Adds an ICV struct to gomp_initial_icv_list.
186 (startswith): Checks if a string starts with a given prefix.
187 (initialize_env): Extended to parse the new syntax of environment
188 variables.
189 * icv-device.c (omp_get_max_teams): Added.
190 (ialias): Likewise.
191 (omp_set_num_teams): Likewise.
192 * icv.c (omp_set_num_teams): Moved to icv-device.c.
193 (omp_get_max_teams): Likewise.
194 (ialias): Likewise.
195 * libgomp-plugin.h (GOMP_DEVICE_NUM_VAR): Removed.
196 (GOMP_ADDITIONAL_ICVS): New target-side struct that
197 holds the designated ICVs of the target device.
198 * libgomp.h (enum gomp_icvs): Collection of ICVs.
199 (enum gomp_device_num): Definition of device numbers for _ALL, _DEV, and
200 no suffix.
201 (enum gomp_env_suffix): Collection of possible suffixes of environment
202 variables.
203 (struct gomp_initial_icvs): Contains all ICVs for which we need to store
204 initial values.
205 (struct gomp_default_icv):New struct to hold ICVs for which we need
206 to store initial values.
207 (struct gomp_icv_list): Definition of a linked list that is used for
208 storing ICVs for the devices and also for _DEV, _ALL, and without
209 suffix.
210 (struct gomp_offload_icvs): New struct to hold ICVs that are copied to
211 a device.
212 (struct gomp_offload_icv_list): Definition of a linked list that holds
213 device-specific ICVs that are copied to devices.
214 (gomp_get_initial_icv_item): Get a list item of gomp_initial_icv_list.
215 (gomp_get_icv_flag): Returns if a flag for a particular ICV is set.
216 * libgomp.texi: Updated.
217 * plugin/plugin-gcn.c (GOMP_OFFLOAD_load_image): Extended to read
218 further ICVs from the offload image.
219 * plugin/plugin-nvptx.c (GOMP_OFFLOAD_load_image): Likewise.
220 * target.c (gomp_get_offload_icv_item): Get a list item of
221 gomp_offload_icv_list.
222 (get_gomp_offload_icvs): New. Returns the ICV values
223 depending on the device num and the variable hierarchy.
224 (gomp_load_image_to_device): Extended to copy further ICVs to a device.
225 * testsuite/libgomp.c-c++-common/icv-5.c: New test.
226 * testsuite/libgomp.c-c++-common/icv-6.c: New test.
227 * testsuite/libgomp.c-c++-common/icv-7.c: New test.
228 * testsuite/libgomp.c-c++-common/icv-8.c: New test.
229 * testsuite/libgomp.c-c++-common/omp-display-env-1.c: New test.
230 * testsuite/libgomp.c-c++-common/omp-display-env-2.c: New test.
231
232 2022-09-08 Tobias Burnus <tobias@codesourcery.com>
233
234 Backport from mainline:
235 2022-09-08 Jakub Jelinek <jakub@redhat.com>
236
237 * libgomp.texi (OpenMP 5.2): Mention that omp_cur_iteration is now
238 fully supported.
239 * testsuite/libgomp.c/doacross-4.c: New test.
240 * testsuite/libgomp.c/doacross-5.c: New test.
241 * testsuite/libgomp.c/doacross-6.c: New test.
242 * testsuite/libgomp.c/doacross-7.c: New test.
243
244 2022-09-08 Tobias Burnus <tobias@codesourcery.com>
245
246 Backport from mainline:
247 2022-05-17 Jakub Jelinek <jakub@redhat.com>
248
249 * libgomp.texi (OpenMP 5.1): Remove "Not inside target regions"
250 comment for omp_display_env feature.
251
252 2022-09-05 Tobias Burnus <tobias@codesourcery.com>
253
254 Backport from mainline:
255 2022-09-05 Tobias Burnus <tobias@codesourcery.com>
256
257 * libgomp.texi (OpenMP 5.2): Update doacross/omp_cur_iteration status.
258
259 2022-08-30 Tobias Burnus <tobias@codesourcery.com>
260
261 Backport from mainline:
262 2022-08-26 Tobias Burnus <tobias@codesourcery.com>
263
264 * libgomp.texi (OpenMP 5.0): Mark 'ancestor' as implemented but
265 refer to 'requires'.
266 * testsuite/libgomp.c-c++-common/reverse-offload-1-aux.c: New test.
267 * testsuite/libgomp.c-c++-common/reverse-offload-1.c: New test.
268 * testsuite/libgomp.fortran/reverse-offload-1-aux.f90: New test.
269 * testsuite/libgomp.fortran/reverse-offload-1.f90: New test.
270
271 2022-08-17 Tobias Burnus <tobias@codesourcery.com>
272
273 Backport from mainline:
274 2022-08-17 Tobias Burnus <tobias@codesourcery.com>
275
276 * splay-tree.h: Fix splay_* macro unsetting if
277 splay_tree_prefix is defined.
278
279 2022-07-29 Tobias Burnus <tobias@codesourcery.com>
280
281 Backport from mainline:
282 2022-07-29 Tobias Burnus <tobias@codesourcery.com>
283
284 * libgomp.c-c++-common/pr106449-2.c: New test.
285
286 2022-07-13 Tobias Burnus <tobias@codesourcery.com>
287
288 Backport from mainline:
289 2022-07-12 Tobias Burnus <tobias@codesourcery.com>
290
291 * target.c (gomp_target_init): Added tailing '\n' to gomp_debug.
292
293 2022-07-08 Tobias Burnus <tobias@codesourcery.com>
294
295 Backport from mainline:
296 2022-07-08 Thomas Schwinge <thomas@codesourcery.com>
297
298 * testsuite/libgomp.c-c++-common/requires-1.c: Add 'dg-note's.
299 * testsuite/libgomp.c-c++-common/requires-2.c: Likewise.
300 * testsuite/libgomp.c-c++-common/requires-3.c: Likewise.
301 * testsuite/libgomp.c-c++-common/requires-7.c: Likewise.
302 * testsuite/libgomp.fortran/requires-1.f90: Likewise.
303
304 2022-07-07 Tobias Burnus <tobias@codesourcery.com>
305
306 Backport from mainline:
307 2022-07-07 Thomas Schwinge <thomas@codesourcery.com>
308
309 * target.c (GOMP_offload_register, GOMP_offload_unregister):
310 Denote as legacy entry points.
311 * testsuite/lib/libgomp.exp
312 (check_effective_target_offload_target_any): New proc.
313 * testsuite/libgomp.c-c++-common/requires-1.c: Enable for
314 'offload_target_any'.
315 * testsuite/libgomp.c-c++-common/requires-3.c: Likewise.
316 * testsuite/libgomp.c-c++-common/requires-7.c: Likewise.
317 * testsuite/libgomp.fortran/requires-1.f90: Likewise.
318
319 2022-07-07 Tobias Burnus <tobias@codesourcery.com>
320
321 Backport from mainline:
322 2022-07-07 Thomas Schwinge <thomas@codesourcery.com>
323
324 * testsuite/libgomp.c-c++-common/requires-4.c: Enhance testing.
325 * testsuite/libgomp.c-c++-common/requires-5.c: Likewise.
326
327 2022-07-07 Tobias Burnus <tobias@codesourcery.com>
328
329 Backport from mainline:
330 2022-07-07 Thomas Schwinge <thomas@codesourcery.com>
331
332 * testsuite/libgomp.c-c++-common/requires-3.c: Adjust.
333
334 2022-07-07 Tobias Burnus <tobias@codesourcery.com>
335
336 Backport from mainline:
337 2022-07-06 Thomas Schwinge <thomas@codesourcery.com>
338
339 * target.c (GOMP_offload_register_ver): Clarify 'target_data' ->
340 'data'.
341 (GOMP_offload_unregister_ver): Likewise. Fix up 'target_data'.
342
343 2022-07-05 Tobias Burnus <tobias@codesourcery.com>
344
345 Backport from mainline:
346 2022-07-04 Tobias Burnus <tobias@codesourcery.com>
347 Chung-Lin Tang <cltang@codesourcery.com>
348 Thomas Schwinge <thomas@codesourcery.com>
349
350 * libgomp-plugin.h (GOMP_OFFLOAD_get_num_devices): Add
351 omp_requires_mask arg.
352 * plugin/plugin-gcn.c (GOMP_OFFLOAD_get_num_devices): Likewise;
353 return -1 when device available but omp_requires_mask != 0.
354 * plugin/plugin-nvptx.c (GOMP_OFFLOAD_get_num_devices): Likewise.
355 * oacc-host.c (host_get_num_devices, host_openacc_get_property):
356 Update call.
357 * oacc-init.c (resolve_device, acc_init_1, acc_shutdown_1,
358 goacc_attach_host_thread_to_device, acc_get_num_devices,
359 acc_set_device_num, get_property_any): Likewise.
360 * target.c (omp_requires_mask): New global var.
361 (gomp_requires_to_name): New.
362 (GOMP_offload_register_ver): Handle passed omp_requires_mask.
363 (gomp_target_init): Handle omp_requires_mask.
364 * libgomp.texi (OpenMP 5.0): Update requires impl. status.
365 (OpenMP 5.1): Add a missed item.
366 (OpenMP 5.2): Mark linear-clause change as supported in C/C++.
367 * testsuite/libgomp.c-c++-common/requires-1-aux.c: New test.
368 * testsuite/libgomp.c-c++-common/requires-1.c: New test.
369 * testsuite/libgomp.c-c++-common/requires-2-aux.c: New test.
370 * testsuite/libgomp.c-c++-common/requires-2.c: New test.
371 * testsuite/libgomp.c-c++-common/requires-3-aux.c: New test.
372 * testsuite/libgomp.c-c++-common/requires-3.c: New test.
373 * testsuite/libgomp.c-c++-common/requires-4-aux.c: New test.
374 * testsuite/libgomp.c-c++-common/requires-4.c: New test.
375 * testsuite/libgomp.c-c++-common/requires-5-aux.c: New test.
376 * testsuite/libgomp.c-c++-common/requires-5.c: New test.
377 * testsuite/libgomp.c-c++-common/requires-6.c: New test.
378 * testsuite/libgomp.c-c++-common/requires-7-aux.c: New test.
379 * testsuite/libgomp.c-c++-common/requires-7.c: New test.
380 * testsuite/libgomp.fortran/requires-1-aux.f90: New test.
381 * testsuite/libgomp.fortran/requires-1.f90: New test.
382
383 2022-07-05 Tobias Burnus <tobias@codesourcery.com>
384
385 Reverted:
386 2021-03-25 Thomas Schwinge <thomas@codesourcery.com>
387
388 * target.c (__requires_mask_table, __requires_mask_table_end): Add
389 '__attribute__((weak))'.
390
391 2022-07-05 Tobias Burnus <tobias@codesourcery.com>
392
393 Reverted:
394 2021-02-02 Chung-Lin Tang <cltang@codesourcery.com>
395
396 * libgomp-plugin.h (GOMP_OFFLOAD_supported_features): New declaration.
397 * libgomp.h (struct gomp_device_descr): New 'supported_features_func'
398 plugin hook field.
399 * oacc-host.c (host_supported_features): New host hook function.
400 (host_dispatch): Initialize 'supported_features_func' host hook.
401 * plugin/plugin-gcn.c (GOMP_OFFLOAD_supported_features): New function.
402 * plugin/plugin-nvptx.c (GOMP_OFFLOAD_supported_features): Likewise.
403 * target.c (<stdio.h>): Add include of standard header.
404 (gomp_requires_mask): New static variable.
405 (__requires_mask_table): New declaration.
406 (__requires_mask_table_end): Likewise.
407
408 2022-07-05 Tobias Burnus <tobias@codesourcery.com>
409
410 Backport from mainline:
411 2022-07-04 Tobias Burnus <tobias@codesourcery.com>
412 Jakub Jelinek <jakub@redhat.com>
413
414 * libgomp.texi (OpenMP 5.2): Mark linear-clause change as 'Y'.
415
416 2022-07-05 Tobias Burnus <tobias@codesourcery.com>
417
418 Backport from mainline:
419 2022-07-01 Tobias Burnus <tobias@codesourcery.com>
420
421 * libgomp.texi (OpenMP 5.2): Mark target enter/exit data
422 with fromto as implemented.
423
424 2022-07-05 Tobias Burnus <tobias@codesourcery.com>
425
426 Backport from mainline:
427 2022-06-15 Jakub Jelinek <jakub@redhat.com>
428
429 * testsuite/libgomp.c-c++-common/get-mapped-ptr-1.c (main): Initialize
430 q to ddress of an automatic variable. Use -5 instead of -1 in
431 omp_get_mapped_ptr call. Add test with omp_initial_device.
432 * testsuite/libgomp.fortran/get-mapped-ptr-1.f90 (main): Use -5 instead
433 of -1 in omp_get_mapped_ptr call. Add test with omp_initial_device.
434 Renumber stop arguments afterwards.
435
436 2022-07-05 Tobias Burnus <tobias@codesourcery.com>
437
438 Backport from mainline:
439 2022-06-13 Jakub Jelinek <jakub@redhat.com>
440
441 * omp.h.in (omp_initial_device, omp_invalid_device): New enumerators.
442 * omp_lib.f90.in (omp_initial_device, omp_invalid_device): New
443 parameters.
444 * omp_lib.h.in (omp_initial_device, omp_invalid_device): Likewise.
445 * target.c (resolve_device): Add remapped argument, handle
446 GOMP_DEVICE_ICV only if remapped is true (and clear remapped),
447 for negative values, treat GOMP_DEVICE_FALLBACK as fallback only
448 if remapped, otherwise treat omp_initial_device that way. For
449 omp_invalid_device, always emit gomp_fatal, even when
450 OMP_TARGET_OFFLOAD isn't mandatory.
451 (GOMP_target, GOMP_target_ext, GOMP_target_data, GOMP_target_data_ext,
452 GOMP_target_update, GOMP_target_update_ext,
453 GOMP_target_enter_exit_data): Pass true as remapped argument to
454 resolve_device.
455 (omp_target_alloc, omp_target_free, omp_target_is_present,
456 omp_target_memcpy_check, omp_target_associate_ptr,
457 omp_target_disassociate_ptr, omp_get_mapped_ptr,
458 omp_target_is_accessible): Pass false as remapped argument to
459 resolve_device. Treat omp_initial_device the same as
460 gomp_get_num_devices (). Don't bypass resolve_device calls if
461 device_num is negative.
462 (omp_pause_resource): Treat omp_initial_device the same as
463 gomp_get_num_devices (). Call resolve_device.
464 * icv-device.c (omp_set_default_device): Always set to device_num
465 even when it is negative.
466 * libgomp.texi: Document that Conforming device numbers,
467 omp_initial_device and omp_invalid_device is implemented.
468 * testsuite/libgomp.c/target-41.c (main): Add test with
469 omp_initial_device.
470 * testsuite/libgomp.c/target-45.c: New test.
471 * testsuite/libgomp.c/target-46.c: New test.
472 * testsuite/libgomp.c/target-47.c: New test.
473 * testsuite/libgomp.c-c++-common/target-is-accessible-1.c (main): Add
474 test with omp_initial_device. Use -5 instead of -1 for negative value
475 test.
476 * testsuite/libgomp.fortran/target-is-accessible-1.f90 (main):
477 Likewise. Reorder stop numbers.
478
479 2022-07-05 Tobias Burnus <tobias@codesourcery.com>
480
481 Backport from mainline:
482 2022-06-03 Tobias Burnus <tobias@codesourcery.com>
483
484 * libgomp.texi (OpenMP 5.2): Mark scope w/ firstprivate/allocate as Y.
485 * testsuite/libgomp.fortran/scope-2.f90: New test.
486
487 2022-07-05 Tobias Burnus <tobias@codesourcery.com>
488
489 Backport from mainline:
490 2022-05-31 Jakub Jelinek <jakub@redhat.com>
491
492 * testsuite/libgomp.c-c++-common/allocate-1.c (foo): Add testcase for
493 scope construct with allocate clause.
494 * testsuite/libgomp.c-c++-common/allocate-3.c (foo): Likewise.
495 * testsuite/libgomp.c-c++-common/scope-2.c: New test.
496
497 2022-07-05 Tobias Burnus <tobias@codesourcery.com>
498
499 Backport from mainline:
500 2022-05-28 Tobias Burnus <tobias@codesourcery.com>
501
502 * libgomp.texi (OpenMP 5.2): Mark 'enter' clause as supported.
503 * testsuite/libgomp.fortran/declare-target-1.f90: Extend to test
504 explicit 'to' and 'enter' clause.
505 * testsuite/libgomp.fortran/declare-target-2.f90: Update accordingly.
506
507 2022-07-05 Tobias Burnus <tobias@codesourcery.com>
508
509 Backport from mainline:
510 2022-05-27 Jakub Jelinek <jakub@redhat.com>
511
512 * testsuite/libgomp.c-c++-common/target-40.c: Modify some existing to
513 clauses to enter.
514 * testsuite/libgomp.c/target-41.c: Likewise.
515
516 2022-07-05 Tobias Burnus <tobias@codesourcery.com>
517
518 Backport from mainline:
519 2022-05-27 Tobias Burnus <tobias@codesourcery.com>
520
521 * libgomp.texi (Other new OpenMP 5.1 features): Add
522 'begin declare target'.
523 (Other new OpenMP 5.2 features): New.
524
525 2022-07-05 Tobias Burnus <tobias@codesourcery.com>
526
527 Backport from mainline:
528 2022-05-25 Jakub Jelinek <jakub@redhat.com>
529
530 * task.c (gomp_task_run_post_handle_dependers): If empty_task
531 is the last task taskwait depend depends on, wake it up.
532 Similarly if it is the last child of a taskgroup, use atomic
533 store instead of decrement and awak taskgroup wait if any.
534 * testsuite/libgomp.c-c++-common/taskwait-depend-nowait-2.c: New test.
535
536 2022-07-05 Tobias Burnus <tobias@codesourcery.com>
537
538 Backport from mainline:
539 2022-05-24 Tobias Burnus <tobias@codesourcery.com>
540
541 PR c/105378
542 * libgomp.texi (OpenMP 5.1): Set 'taskwait nowait' to 'Y'.
543 * testsuite/libgomp.fortran/taskwait-depend-nowait-1.f90: New.
544
545 2022-07-05 Tobias Burnus <tobias@codesourcery.com>
546
547 Backport from mainline:
548 2022-05-24 Jakub Jelinek <jakub@redhat.com>
549
550 PR c/105378
551 * libgomp_g.h (GOMP_taskwait_depend_nowait): Declare.
552 * libgomp.map (GOMP_taskwait_depend_nowait): Export at GOMP_5.1.1.
553 * task.c (empty_task): New function.
554 (gomp_task_run_post_handle_depend_hash): Declare earlier.
555 (gomp_task_run_post_handle_depend): Declare.
556 (GOMP_task): Optimize fn == empty_task if there is nothing to wait
557 for.
558 (gomp_task_run_post_handle_dependers): Optimize task->fn == empty_task.
559 (GOMP_taskwait_depend_nowait): New function.
560 * testsuite/libgomp.c-c++-common/taskwait-depend-nowait-1.c: New test.
561
562 2022-07-05 Tobias Burnus <tobias@codesourcery.com>
563
564 Backport from mainline:
565 2022-05-20 Marcel Vollweiler <marcel@codesourcery.com>
566
567 * libgomp.map: Added omp_target_memcpy_async and
568 omp_target_memcpy_rect_async.
569 * libgomp.texi: Both functions are now supported.
570 * omp.h.in: Added omp_target_memcpy_async and
571 omp_target_memcpy_rect_async.
572 * omp_lib.f90.in: Added interfaces for both new functions.
573 * omp_lib.h.in: Likewise.
574 * target.c (ialias_redirect): Added for GOMP_task.
575 (omp_target_memcpy): Restructured into check and copy part.
576 (omp_target_memcpy_check): New helper function for omp_target_memcpy and
577 omp_target_memcpy_async that checks requirements.
578 (omp_target_memcpy_copy): New helper function for omp_target_memcpy and
579 omp_target_memcpy_async that performs the memcpy.
580 (omp_target_memcpy_async_helper): New helper function that is used in
581 omp_target_memcpy_async for the asynchronous task.
582 (omp_target_memcpy_async): Added.
583 (omp_target_memcpy_rect): Restructured into check and copy part.
584 (omp_target_memcpy_rect_check): New helper function for
585 omp_target_memcpy_rect and omp_target_memcpy_rect_async that checks
586 requirements.
587 (omp_target_memcpy_rect_copy): New helper function for
588 omp_target_memcpy_rect and omp_target_memcpy_rect_async that performs
589 the memcpy.
590 (omp_target_memcpy_rect_async_helper): New helper function that is used
591 in omp_target_memcpy_rect_async for the asynchronous task.
592 (omp_target_memcpy_rect_async): Added.
593 * task.c (ialias): Added for GOMP_task.
594 * testsuite/libgomp.c-c++-common/target-memcpy-async-1.c: New test.
595 * testsuite/libgomp.c-c++-common/target-memcpy-async-2.c: New test.
596 * testsuite/libgomp.c-c++-common/target-memcpy-rect-async-1.c: New test.
597 * testsuite/libgomp.c-c++-common/target-memcpy-rect-async-2.c: New test.
598 * testsuite/libgomp.fortran/target-memcpy-async-1.f90: New test.
599 * testsuite/libgomp.fortran/target-memcpy-async-2.f90: New test.
600 * testsuite/libgomp.fortran/target-memcpy-rect-async-1.f90: New test.
601 * testsuite/libgomp.fortran/target-memcpy-rect-async-2.f90: New test.
602
603 2022-07-05 Tobias Burnus <tobias@codesourcery.com>
604
605 Backport from mainline:
606 2022-05-18 Tobias Burnus <tobias@codesourcery.com>
607
608 * libgomp.texi (OpenMP 5.1): Set 'inoutset' to Y.
609 (OpenMP Context Selectors): Add missing comma.
610 * testsuite/libgomp.fortran/depend-5.f90: Add inoutset test.
611 * testsuite/libgomp.fortran/depend-6.f90: Likewise.
612 * testsuite/libgomp.fortran/depend-7.f90: Likewise.
613 * testsuite/libgomp.fortran/depend-inoutset-1.f90: New test.
614
615 2022-07-04 Tobias Burnus <tobias@codesourcery.com>
616
617 Backport from mainline:
618 2022-05-17 Tobias Burnus <tobias@codesourcery.com>
619
620 * libgomp.texi (Offload-Target Specifics): New chapter; add section
621 to document OpenMP context selectors.
622
623 2022-07-04 Tobias Burnus <tobias@codesourcery.com>
624
625 Backport from mainline:
626 2022-05-17 Jakub Jelinek <jakub@redhat.com>
627
628 * libgomp.h (struct gomp_task_depend_entry): Change is_in type
629 from bool to unsigned char.
630 * task.c (gomp_task_handle_depend): Handle GOMP_DEPEND_INOUTSET.
631 Ignore dependencies where
632 task->depend[i].is_in && task->depend[i].is_in == ent->is_in
633 rather than just task->depend[i].is_in && ent->is_in. Remember
634 whether GOMP_DEPEND_IN loop is needed and guard the loop with that
635 conditional.
636 (gomp_task_maybe_wait_for_dependencies): Handle GOMP_DEPEND_INOUTSET.
637 Ignore dependencies where elem.is_in && elem.is_in == ent->is_in
638 rather than just elem.is_in && ent->is_in.
639 * testsuite/libgomp.c-c++-common/depend-1.c (test): Add task with
640 inoutset depend-kind.
641 * testsuite/libgomp.c-c++-common/depend-2.c (test): Likewise.
642 * testsuite/libgomp.c-c++-common/depend-3.c (test): Likewise.
643 * testsuite/libgomp.c-c++-common/depend-inoutset-1.c: New test.
644
645 2022-07-04 Tobias Burnus <tobias@codesourcery.com>
646
647 Backport from mainline:
648 2022-05-17 Tobias Burnus <tobias@codesourcery.com>
649
650 * libgomp.texi (OpenMP Implementation Status): Add 5.2 table.
651
652 2022-07-04 Tobias Burnus <tobias@codesourcery.com>
653
654 Backport from mainline:
655 2022-05-17 Tobias Burnus <tobias@codesourcery.com>
656
657 * libgomp.texi (OpenMP 5.1): Set omp_all_memory to 'Y'.
658 * testsuite/libgomp.fortran/depend-5.f90: New test.
659 * testsuite/libgomp.fortran/depend-6.f90: New test.
660 * testsuite/libgomp.fortran/depend-7.f90: New test.
661
662 2022-07-04 Tobias Burnus <tobias@codesourcery.com>
663
664 Backport from mainline:
665 2022-05-16 Marcel Vollweiler <marcel@codesourcery.com>
666
667 * testsuite/libgomp.c++/target-has-device-addr-7.C: New test.
668 * testsuite/libgomp.c++/target-has-device-addr-8.C: New test.
669 * testsuite/libgomp.c++/target-has-device-addr-9.C: New test.
670
671 2022-07-04 Tobias Burnus <tobias@codesourcery.com>
672
673 Backport from mainline:
674 2022-05-13 Tobias Burnus <tobias@codesourcery.com>
675
676 * testsuite/libgomp.fortran/target-nowait-array-section.f90: New test.
677
678 2022-07-04 Tobias Burnus <tobias@codesourcery.com>
679
680 Backport from mainline:
681 2022-05-13 Tobias Burnus <tobias@codesourcery.com>
682
683 * testsuite/libgomp.fortran/target-nowait-array-section.f90: New test.
684
685 2022-06-20 Andrew Stubbs <ams@codesourcery.com>
686
687 * plugin/plugin-gcn.c (struct usm_splay_tree_key_s): New.
688 (usm_splay_compare): New.
689 (splay_tree_prefix): New.
690 (GOMP_OFFLOAD_usm_alloc): New.
691 (GOMP_OFFLOAD_usm_free): New.
692 (GOMP_OFFLOAD_is_usm_ptr): New.
693 (GOMP_OFFLOAD_supported_features): Move into the OpenMP API fold.
694 Add GOMP_REQUIRES_UNIFIED_ADDRESS and
695 GOMP_REQUIRES_UNIFIED_SHARED_MEMORY.
696 (gomp_fatal): New.
697 (splay_tree_c): New.
698 * testsuite/lib/libgomp.exp (check_effective_target_omp_usm): New.
699 * testsuite/libgomp.c++/usm-1.C: Use dg-require-effective-target.
700 * testsuite/libgomp.c-c++-common/requires-1.c: Likewise.
701 * testsuite/libgomp.c/usm-1.c: Likewise.
702 * testsuite/libgomp.c/usm-2.c: Likewise.
703 * testsuite/libgomp.c/usm-3.c: Likewise.
704 * testsuite/libgomp.c/usm-4.c: Likewise.
705 * testsuite/libgomp.c/usm-5.c: Likewise.
706 * testsuite/libgomp.c/usm-6.c: Likewise.
707
708 2022-05-30 Kwok Cheung Yeung <kcy@codesourcery.com>
709
710 * testsuite/libgomp.oacc-c-c++-common/acc_prof-init-1.c
711 (cb_compute_construct_end): Remove COPYIN block.
712 (main): Remove assignments to acc_async.
713 * testsuite/libgomp.oacc-c-c++-common/acc_prof-parallel-1.c
714 (cb_enter_data_end): Remove COPYIN block.
715 (main): Remove assignment to acc_async.
716
717 2022-05-31 Kwok Cheung Yeung <kcy@codesourcery.com>
718
719 * testsuite/libgomp.oacc-c-c++-common/pr85381-3.c (foo_v, foo_w):
720 Re-add dg-warning entries.
721
722 2022-05-12 Thomas Schwinge <thomas@codesourcery.com>
723
724 Backport from mainline:
725 2022-05-12 Thomas Schwinge <thomas@codesourcery.com>
726
727 * plugin/Makefrag.am (libgomp_plugin_nvptx_la_CPPFLAGS)
728 [PLUGIN_NVPTX_DYNAMIC]: Don't append '$(PLUGIN_NVPTX_CPPFLAGS)'.
729 (libgomp_plugin_nvptx_la_LDFLAGS) [PLUGIN_NVPTX_DYNAMIC]: Don't
730 append '$(PLUGIN_NVPTX_LDFLAGS)'.
731 * Makefile.in: Regenerate.
732
733 2022-05-05 Thomas Schwinge <thomas@codesourcery.com>
734
735 Backport from mainline:
736 2022-05-05 Thomas Schwinge <thomas@codesourcery.com>
737
738 * Makefile.am (libgomp_la_LIBADD): Initialize.
739 * plugin/configfrag.ac (DL_LIBS): New.
740 (PLUGIN_GCN_LIBS): Remove.
741 (PLUGIN_NVPTX_LIBS): Don't set in the 'PLUGIN_NVPTX_DYNAMIC' case.
742 * plugin/Makefrag.am (libgomp_la_LIBADD)
743 (libgomp_plugin_gcn_la_LIBADD): Consider '$(DL_LIBS)'.
744 (libgomp_plugin_nvptx_la_LIBADD) <PLUGIN_NVPTX_DYNAMIC>: Likewise.
745 * Makefile.in: Regenerate.
746 * config.h.in: Likewise.
747 * configure: Likewise.
748 * testsuite/Makefile.in: Likewise.
749
750 2022-04-07 Thomas Schwinge <thomas@codesourcery.com>
751
752 Backport from mainline:
753 2022-04-07 Thomas Schwinge <thomas@codesourcery.com>
754
755 * plugin/Makefrag.am: Handle 'PLUGIN_NVPTX_DYNAMIC'.
756 * plugin/configfrag.ac (PLUGIN_NVPTX_DYNAMIC): Change
757 'AC_DEFINE_UNQUOTED' into 'AM_CONDITIONAL'.
758 * plugin/plugin-nvptx.c: Split 'PLUGIN_NVPTX_DYNAMIC' into
759 'PLUGIN_NVPTX_INCLUDE_SYSTEM_CUDA_H' and
760 'PLUGIN_NVPTX_LINK_LIBCUDA'.
761 * Makefile.in: Regenerate.
762 * config.h.in: Likewise.
763 * configure: Likewise.
764
765 2022-05-05 Thomas Schwinge <thomas@codesourcery.com>
766
767 Backport from mainline:
768 2022-05-05 Thomas Schwinge <thomas@codesourcery.com>
769
770 * plugin/configfrag.ac: Don't 'AC_SUBST' and 'AC_DEFINE_UNQUOTED'
771 for 'PLUGIN_GCN', 'PLUGIN_NVPTX'.
772 * Makefile.in: Regenerate.
773 * config.h.in: Likewise.
774 * configure: Likewise.
775 * testsuite/Makefile.in: Likewise.
776
777 2022-05-12 Jakub Jelinek <jakub@redhat.com>
778
779 Backport from mainline:
780 2022-05-12 Jakub Jelinek <jakub@redhat.com>
781
782 * libgomp.h (struct gomp_task): Add depend_all_memory member.
783 * task.c (gomp_init_task): Initialize depend_all_memory.
784 (gomp_task_handle_depend): Handle omp_all_memory.
785 (gomp_task_run_post_handle_depend_hash): Clear
786 parent->depend_all_memory if equal to current task.
787 (gomp_task_maybe_wait_for_dependencies): Handle omp_all_memory.
788 * testsuite/libgomp.c-c++-common/depend-1.c: New test.
789 * testsuite/libgomp.c-c++-common/depend-2.c: New test.
790 * testsuite/libgomp.c-c++-common/depend-3.c: New test.
791
792 2022-04-06 Thomas Schwinge <thomas@codesourcery.com>
793
794 Backport from mainline:
795 2022-04-06 Thomas Schwinge <thomas@codesourcery.com>
796
797 * plugin/configfrag.ac: Remove '--with-hsa-runtime',
798 '--with-hsa-runtime-include', '--with-hsa-runtime-lib' processing.
799 * Makefile.in: Regenerate.
800 * configure: Likewise.
801 * testsuite/Makefile.in: Likewise.
802
803 2022-04-06 Thomas Schwinge <thomas@codesourcery.com>
804
805 Backport from mainline:
806 2022-04-06 Thomas Schwinge <thomas@codesourcery.com>
807
808 * plugin/Makefrag.am (libgomp_plugin_gcn_la_CPPFLAGS): Don't
809 consider 'PLUGIN_GCN_CPPFLAGS'.
810 (libgomp_plugin_gcn_la_LDFLAGS): Don't consider
811 'PLUGIN_GCN_LDFLAGS'.
812 * plugin/configfrag.ac (PLUGIN_GCN_CPPFLAGS, PLUGIN_GCN_LDFLAGS):
813 Remove.
814 * Makefile.in: Regenerate.
815 * configure: Likewise.
816 * testsuite/Makefile.in: Likewise.
817
818 2022-04-06 Thomas Schwinge <thomas@codesourcery.com>
819
820 Backport from mainline:
821 2022-04-06 Thomas Schwinge <thomas@codesourcery.com>
822
823 * plugin/configfrag.ac (HSA_RUNTIME_CPPFLAGS)
824 (HSA_RUNTIME_LDFLAGS): Remove.
825 * configure: Regenerate.
826
827 2022-04-06 Thomas Schwinge <thomas@codesourcery.com>
828
829 Backport from mainline:
830 2022-04-06 Thomas Schwinge <thomas@codesourcery.com>
831
832 * testsuite/lib/libgomp.exp (libgomp_init): Don't
833 'append always_ld_library_path ":$hsa_runtime_lib"'.
834 * testsuite/libgomp-test-support.exp.in (hsa_runtime_lib): Don't set.
835
836 2022-05-10 Thomas Schwinge <thomas@codesourcery.com>
837
838 Backport from mainline:
839 2022-05-10 Thomas Schwinge <thomas@codesourcery.com>
840
841 * testsuite/libgomp.fortran/use_device_addr-5.f90: Fix up
842 multi-device testing.
843
844 2022-05-06 Marcel Vollweiler <marcel@codesourcery.com>
845
846 Backport from mainline:
847 2022-05-06 Marcel Vollweiler <marcel@codesourcery.com>
848
849 * libgomp.map: Added omp_target_is_accessible.
850 * libgomp.texi: Tagged omp_target_is_accessible as supported.
851 * omp.h.in: Added omp_target_is_accessible.
852 * omp_lib.f90.in: Added interface for omp_target_is_accessible.
853 * omp_lib.h.in: Likewise.
854 * target.c (omp_target_is_accessible): Added implementation of
855 omp_target_is_accessible.
856 * testsuite/libgomp.c-c++-common/target-is-accessible-1.c: New test.
857 * testsuite/libgomp.fortran/target-is-accessible-1.f90: New test.
858
859 2022-05-05 Sandra Loosemore <sandra@codesourcery.com>
860
861 Backport from mainline:
862 2022-05-05 Sandra Loosemore <sandra@codesourcery.com>
863
864 * libgomp.texi (OpenMP 5.0): Feature is now fully supported.
865
866 2022-05-04 Tobias Burnus <tobias@codesourcery.com>
867
868 Backport from master:
869 2022-05-04 Tobias Burnus <tobias@codesourcery.com>
870
871 * plugin/plugin-gcn.c (isa_matches_agent): Suggest -foffload-options.
872
873 2022-05-02 Marcel Vollweiler <marcel@codesourcery.com>
874
875 Backport from mainline:
876 2022-05-02 Marcel Vollweiler <marcel@codesourcery.com>
877
878 * libgomp.map: Added omp_get_mapped_ptr.
879 * libgomp.texi: Tagged omp_get_mapped_ptr as supported.
880 * omp.h.in: Added omp_get_mapped_ptr.
881 * omp_lib.f90.in: Added interface for omp_get_mapped_ptr.
882 * omp_lib.h.in: Likewise.
883 * target.c (omp_get_mapped_ptr): Added implementation of
884 omp_get_mapped_ptr.
885 * testsuite/libgomp.c-c++-common/get-mapped-ptr-1.c: New test.
886 * testsuite/libgomp.c-c++-common/get-mapped-ptr-2.c: New test.
887 * testsuite/libgomp.c-c++-common/get-mapped-ptr-3.c: New test.
888 * testsuite/libgomp.c-c++-common/get-mapped-ptr-4.c: New test.
889 * testsuite/libgomp.fortran/get-mapped-ptr-1.f90: New test.
890 * testsuite/libgomp.fortran/get-mapped-ptr-2.f90: New test.
891 * testsuite/libgomp.fortran/get-mapped-ptr-3.f90: New test.
892 * testsuite/libgomp.fortran/get-mapped-ptr-4.f90: New test.
893
894 2022-02-24 Andrew Stubbs <ams@codesourcery.com>
895
896 Backport from mainline:
897 2022-02-24 Andrew Stubbs <ams@codesourcery.com>
898
899 * plugin/plugin-gcn.c (EF_AMDGPU_MACH): Add
900 EF_AMDGPU_MACH_AMDGCN_GFX90a.
901 (gcn_gfx90a_s): New.
902 (isa_hsa_name): Support gfx90a.
903 (isa_code): Likewise.
904
905 2022-05-23 Tobias Burnus <tobias@codesourcery.com>
906
907 Backport from mainline:
908 2022-05-23 Tobias Burnus <tobias@codesourcery.com>
909
910 PR fortran/104949
911 * target.c (gomp_map_vars_internal, copy_firstprivate_data):
912 Support attach for GOMP_MAP_FIRSTPRIVATE.
913 * testsuite/libgomp.fortran/target-firstprivate-1.f90: New test.
914 * testsuite/libgomp.fortran/target-firstprivate-2.f90: New test.
915 * testsuite/libgomp.fortran/target-firstprivate-3.f90: New test.
916
917 2022-05-09 Kwok Cheung Yeung <kcy@codesourcery.com>
918
919 Backport from master:
920 2022-05-04 Tobias Burnus <tobias@codesourcery.com>
921
922 * testsuite/libgomp.fortran/use_device_addr-5.f90: New test.
923
924 2022-04-13 Andrew Stubbs <ams@codesourcery.com>
925
926 * testsuite/libgomp.c/alloc-pinned-1.c: Autodetect page size.
927 * testsuite/libgomp.c/alloc-pinned-2.c: Likewise.
928 * testsuite/libgomp.c/alloc-pinned-3.c: Likewise.
929 * testsuite/libgomp.c/alloc-pinned-4.c: Likewise.
930 * testsuite/libgomp.c/alloc-pinned-5.c: Likewise.
931 * testsuite/libgomp.c/alloc-pinned-6.c: Likewise.
932 * testsuite/libgomp.c/alloc-pinned-7.c: Clean up.
933
934 2022-04-02 Andrew Stubbs <ams@codesourcery.com>
935
936 * testsuite/libgomp.c/usm-6.c: Add omp_target_alloc.
937
938 2022-03-31 Abid Qadeer <abidh@codesourcery.com>
939
940 * testsuite/libgomp.fortran/allocate-2.f90: Remove commented lines.
941 Add deallocate. Remove omp_atk_pool_size trait.
942
943 2022-03-29 Andrew Stubbs <ams@codesourcery.com>
944
945 * plugin/plugin-nvptx.c (GOMP_OFFLOAD_supported_features): Allow
946 GOMP_REQUIRES_UNIFIED_ADDRESS and GOMP_REQUIRES_UNIFIED_SHARED_MEMORY.
947
948 2022-03-11 Andrew Stubbs <ams@codesourcery.com>
949
950 Backport of the patch posted at
951 https://gcc.gnu.org/pipermail/gcc-patches/2022-March/591354.html
952
953 * config/linux/allocator.c (always_pinned_mode): New variable.
954 (GOMP_enable_pinned_mode): New function.
955 (linux_memspace_alloc): Disable pinning when always_pinned_mode set.
956 (linux_memspace_calloc): Likewise.
957 (linux_memspace_free): Likewise.
958 (linux_memspace_realloc): Likewise.
959 * libgomp.map (GOMP_5.1.1): New version space with
960 GOMP_enable_pinned_mode.
961 * testsuite/libgomp.c/alloc-pinned-7.c: New test.
962
963 2022-03-11 Abid Qadeer <abidh@codesourcery.com>
964
965 Backport of a patch posted at
966 https://gcc.gnu.org/pipermail/gcc-patches/2022-March/591353.html
967
968 * testsuite/libgomp.c/usm-6.c: New test.
969 * testsuite/libgomp.c++/usm-1.C: Likewise.
970
971 2022-03-11 Andrew Stubbs <ams@codesourcery.com>
972
973 Backport of the patch posted at
974 https://gcc.gnu.org/pipermail/gcc-patches/2022-March/591352.html
975
976 * allocator.c (omp_max_predefined_alloc): Update.
977 (omp_aligned_alloc): Don't fallback ompx_host_mem_alloc.
978 (omp_aligned_calloc): Likewise.
979 (omp_realloc): Likewise.
980 * config/linux/allocator.c (linux_memspace_alloc): Handle USM.
981 (linux_memspace_calloc): Handle USM.
982 (linux_memspace_free): Handle USM.
983 (linux_memspace_realloc): Handle USM.
984 * config/nvptx/allocator.c (nvptx_memspace_alloc): Reject
985 ompx_host_mem_alloc.
986 (nvptx_memspace_calloc): Likewise.
987 (nvptx_memspace_realloc): Likewise.
988 * libgomp-plugin.h (GOMP_OFFLOAD_usm_alloc): New prototype.
989 (GOMP_OFFLOAD_usm_free): New prototype.
990 (GOMP_OFFLOAD_is_usm_ptr): New prototype.
991 * libgomp.h (gomp_usm_alloc): New prototype.
992 (gomp_usm_free): New prototype.
993 (gomp_is_usm_ptr): New prototype.
994 (struct gomp_device_descr): Add USM functions.
995 * omp.h.in (omp_memspace_handle_t): Add ompx_unified_shared_mem_space
996 and ompx_host_mem_space.
997 (omp_allocator_handle_t): Add ompx_unified_shared_mem_alloc and
998 ompx_host_mem_alloc.
999 * omp_lib.f90.in: Likewise.
1000 * plugin/plugin-nvptx.c (nvptx_alloc): Add "usm" parameter.
1001 Call cuMemAllocManaged as appropriate.
1002 (GOMP_OFFLOAD_alloc): Move internals to ...
1003 (GOMP_OFFLOAD_alloc_1): ... this, and add usm parameter.
1004 (GOMP_OFFLOAD_usm_alloc): New function.
1005 (GOMP_OFFLOAD_usm_free): New function.
1006 (GOMP_OFFLOAD_is_usm_ptr): New function.
1007 * target.c (gomp_map_vars_internal): Add USM support.
1008 (gomp_usm_alloc): New function.
1009 (gomp_usm_free): New function.
1010 (gomp_load_plugin_for_device): New function.
1011 * testsuite/libgomp.c/usm-1.c: New test.
1012 * testsuite/libgomp.c/usm-2.c: New test.
1013 * testsuite/libgomp.c/usm-3.c: New test.
1014 * testsuite/libgomp.c/usm-4.c: New test.
1015 * testsuite/libgomp.c/usm-5.c: New test.
1016
1017 2022-03-11 Andrew Stubbs <ams@codesourcery.com>
1018
1019 Backport of a patch posted at
1020 https://gcc.gnu.org/pipermail/gcc-patches/2022-January/589355.html
1021
1022 * allocator.c (MEMSPACE_VALIDATE): New macro.
1023 (omp_aligned_alloc): Use MEMSPACE_VALIDATE.
1024 (omp_aligned_calloc): Likewise.
1025 (omp_realloc): Likewise.
1026 * config/nvptx/allocator.c (nvptx_memspace_validate): New function.
1027 (MEMSPACE_VALIDATE): New macro.
1028 * testsuite/libgomp.c/allocators-4.c (main): Add access trait.
1029 * testsuite/libgomp.c/allocators-6.c (main): Add access trait.
1030 * testsuite/libgomp.c/allocators-7.c: New test.
1031
1032 2022-03-11 Andrew Stubbs <ams@codesourcery.com>
1033
1034 Backport of a patch posted at
1035 https://gcc.gnu.org/pipermail/gcc-patches/2022-January/588951.html
1036
1037 * allocator.c (omp_max_predefined_alloc): Update.
1038 (omp_aligned_alloc): Support ompx_pinned_mem_alloc.
1039 (omp_free): Likewise.
1040 (omp_aligned_calloc): Likewise.
1041 (omp_realloc): Likewise.
1042 * omp.h.in (omp_allocator_handle_t): Add ompx_pinned_mem_alloc.
1043 * omp_lib.f90.in: Add ompx_pinned_mem_alloc.
1044 * testsuite/libgomp.c/alloc-pinned-5.c: New test.
1045 * testsuite/libgomp.c/alloc-pinned-6.c: New test.
1046 * testsuite/libgomp.fortran/alloc-pinned-1.f90: New test.
1047
1048 2022-03-10 Andrew Stubbs <ams@codesourcery.com>
1049
1050 Backport of a patch posted at
1051 https://gcc.gnu.org/pipermail/gcc-patches/2022-January/588360.html
1052
1053 * allocator.c (MEMSPACE_ALLOC): Add PIN.
1054 (MEMSPACE_CALLOC): Add PIN.
1055 (MEMSPACE_REALLOC): Add PIN.
1056 (MEMSPACE_FREE): Add PIN.
1057 (xmlock): New function.
1058 (omp_init_allocator): Don't disallow the pinned trait.
1059 (omp_aligned_alloc): Add pinning to all MEMSPACE_* calls.
1060 (omp_aligned_calloc): Likewise.
1061 (omp_realloc): Likewise.
1062 (omp_free): Likewise.
1063 * config/linux/allocator.c: New file.
1064 * config/nvptx/allocator.c (MEMSPACE_ALLOC): Add PIN.
1065 (MEMSPACE_CALLOC): Add PIN.
1066 (MEMSPACE_REALLOC): Add PIN.
1067 (MEMSPACE_FREE): Add PIN.
1068 * testsuite/libgomp.c/alloc-pinned-1.c: New test.
1069 * testsuite/libgomp.c/alloc-pinned-2.c: New test.
1070 * testsuite/libgomp.c/alloc-pinned-3.c: New test.
1071 * testsuite/libgomp.c/alloc-pinned-4.c: New test.
1072
1073 2022-03-09 Abid Qadeer <abidh@codesourcery.com>
1074
1075 Backport of a patch posted at
1076 https://gcc.gnu.org/pipermail/gcc-patches/2022-January/588372.html
1077
1078 * testsuite/libgomp.fortran/allocate-2.f90: New test.
1079
1080 2022-03-01 Tobias Burnus <tobias@codesourcery.com>
1081
1082 * testsuite/libgomp.fortran/allocatable-comp.f90: New test.
1083 * testsuite/libgomp.fortran/map-alloc-comp-3.f90: New test.
1084 * testsuite/libgomp.fortran/map-alloc-comp-4.f90: New test.
1085 * testsuite/libgomp.fortran/map-alloc-comp-5.f90: New test.
1086 * testsuite/libgomp.fortran/map-alloc-comp-6.f90: New test.
1087 * testsuite/libgomp.fortran/map-alloc-comp-7.f90: New test.
1088
1089 2022-02-24 Chung-Lin Tang <cltang@codesourcery.com>
1090
1091 * testsuite/libgomp.c-c++-common/ptr-attach-2.c: New test.
1092
1093 2022-01-28 Kwok Cheung Yeung <kcy@codesourcery.com>
1094
1095 * testsuite/libgomp.c-c++-common/metadirective-2.c (main): Add
1096 expected warning.
1097 * testsuite/libgomp.fortran/metadirective-2.f90 (test): Likewise.
1098
1099 2022-01-25 Kwok Cheung Yeung <kcy@codesourcery.com>
1100
1101 * Makefile.am (libgomp_la_SOURCES): Add selector.c.
1102 * Makefile.am: Regenerate.
1103 * config/gcn/selector.c: New.
1104 * config/linux/selector.c: New.
1105 * config/linux/x86/selector.c: New.
1106 * config/nvptx/selector.c: New.
1107 * libgomp-plugin.h (GOMP_OFFLOAD_evaluate_device): New.
1108 * libgomp.h (struct gomp_device_descr): Add evaluate_device_func field.
1109 * libgomp.map (GOMP_5.1): Add GOMP_evaluate_target_device.
1110 * libgomp_g.h (GOMP_evaluate_current_device): New.
1111 (GOMP_evaluate_target_device): New.
1112 * oacc-host.c (host_evaluate_device): New.
1113 (host_openacc_exec): Initialize evaluate_device_func field to
1114 host_evaluate_device.
1115 * plugin/plugin-gcn.c (GOMP_OFFLOAD_evaluate_device): New.
1116 * plugin/plugin-nvptx.c (struct ptx_device): Add compute_major and
1117 compute_minor fields.
1118 (nvptx_open_device): Read compute capability information from device.
1119 (CHECK_ISA): New macro.
1120 (GOMP_OFFLOAD_evaluate_device): New.
1121 * selector.c: New.
1122 * target.c (GOMP_evaluate_target_device): New.
1123 (gomp_load_plugin_for_device): Load evaulate_device plugin function.
1124 * testsuite/libgomp.c-c++-common/metadirective-5.c: New testcase.
1125 * testsuite/libgomp.fortran/metadirective-5.f90: New testcase.
1126
1127 2022-01-25 Kwok Cheung Yeung <kcy@codesourcery.com>
1128
1129 * testsuite/libgomp.c-c++-common/metadirective-1.c: New.
1130 * testsuite/libgomp.c-c++-common/metadirective-2.c: New.
1131 * testsuite/libgomp.c-c++-common/metadirective-3.c: New.
1132 * testsuite/libgomp.c-c++-common/metadirective-4.c: New.
1133 * testsuite/libgomp.fortran/metadirective-1.f90: New.
1134 * testsuite/libgomp.fortran/metadirective-2.f90: New.
1135 * testsuite/libgomp.fortran/metadirective-3.f90: New.
1136 * testsuite/libgomp.fortran/metadirective-4.f90: New.
1137
1138 2022-06-21 Kwok Cheung Yeung <kcy@codesourcery.com>
1139
1140 * config/nvptx/team.c (gomp_nvptx_main): Initialize shared_pool_size
1141 to zero. Do not use dynamic_smem_size register if PTX version lower
1142 than 4.1.
1143
1144 2021-12-22 Andrew Stubbs <ams@codesourcery.com>
1145
1146 * allocator.c (MEMSPACE_ALLOC): New macro.
1147 (MEMSPACE_CALLOC): New macro.
1148 (MEMSPACE_REALLOC): New macro.
1149 (MEMSPACE_FREE): New macro.
1150 (dynamic_smem_size): New constants.
1151 (omp_alloc): Use MEMSPACE_ALLOC.
1152 Implement fall-backs for predefined allocators.
1153 (omp_free): Use MEMSPACE_FREE.
1154 (omp_calloc): Use MEMSPACE_CALLOC.
1155 Implement fall-backs for predefined allocators.
1156 (omp_realloc): Use MEMSPACE_REALLOC.
1157 Implement fall-backs for predefined allocators.
1158 * config/nvptx/team.c (__nvptx_lowlat_heap_root): New variable.
1159 (__nvptx_lowlat_pool): New asm varaible.
1160 (gomp_nvptx_main): Initialize the low-latency heap.
1161 * plugin/plugin-nvptx.c (lowlat_pool_size): New variable.
1162 (GOMP_OFFLOAD_init_device): Read the GOMP_NVPTX_LOWLAT_POOL envvar.
1163 (GOMP_OFFLOAD_run): Apply lowlat_pool_size.
1164 * config/nvptx/allocator.c: New file.
1165 * testsuite/libgomp.c/allocators-1.c: New test.
1166 * testsuite/libgomp.c/allocators-2.c: New test.
1167 * testsuite/libgomp.c/allocators-3.c: New test.
1168 * testsuite/libgomp.c/allocators-4.c: New test.
1169 * testsuite/libgomp.c/allocators-5.c: New test.
1170 * testsuite/libgomp.c/allocators-6.c: New test.
1171
1172 2022-06-21 Kwok Cheung Yeung <kcy@codesourcery.com>
1173
1174 * plugin/cuda-lib.def (cuMemAllocManaged): Add new call.
1175 (cuPointerGetAttribute): Likewise.
1176
1177 2021-11-16 Frederik Harwath <frederik@codesourcery.com>
1178
1179 * testsuite/libgomp.oacc-c-c++-common/kernels-decompose-1.c: Adjust.
1180 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Adjust.
1181 * testsuite/libgomp.oacc-c-c++-common/pr84955-1.c: Adjust.
1182 * testsuite/libgomp.oacc-c-c++-common/pr85381-2.c: Adjust.
1183 * testsuite/libgomp.oacc-c-c++-common/pr85381-3.c: Adjust.
1184 * testsuite/libgomp.oacc-c-c++-common/pr85381-4.c: Adjust.
1185 * testsuite/libgomp.oacc-c-c++-common/pr85486-2.c: Adjust.
1186 * testsuite/libgomp.oacc-c-c++-common/pr85486-3.c: Adjust.
1187 * testsuite/libgomp.oacc-c-c++-common/pr85486.c: Adjust.
1188 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-1.c: Adjust.
1189 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-2.c: Adjust.
1190 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-3.c: Adjust.
1191 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-4.c: Adjust.
1192 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-5.c: Adjust.
1193 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-6.c: Adjust.
1194 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-7.c: Adjust.
1195 * testsuite/libgomp.oacc-fortran/kernels-acc-loop-reduction-2.f90: Adjust.
1196 * testsuite/libgomp.oacc-fortran/pr94358-1.f90: Adjust.
1197 * testsuite/libgomp.oacc-fortran/parallel-loop-auto-reduction-2.f90: Removed.
1198
1199 2021-11-16 Andrew Stubbs <ams@codesourcery.com>
1200
1201 * testsuite/libgomp.oacc-c-c++-common/runtime-alias-check-1.c: New test.
1202 * testsuite/libgomp.oacc-c-c++-common/runtime-alias-check-2.c: New test.
1203
1204 2021-11-16 Andrew Stubbs <ams@codesourcery.com>
1205 Thomas Schwinge <thomas@codesourcery.com>
1206
1207 * testsuite/libgomp.oacc-c-c++-common/kernels-decompose-1.c:
1208 Expect optimization messages.
1209 * testsuite/libgomp.oacc-fortran/pr94358-1.f90: Likewise.
1210
1211 2021-11-16 Frederik Harwath <frederik@codesourcery.com>
1212
1213 * testsuite/libgomp.oacc-c-c++-common/acc_prof-kernels-1.c: Adjust
1214 expectations.
1215
1216 2021-11-16 Frederik Harwath <frederik@codesourcery.com>
1217
1218 * testsuite/libgomp.oacc-fortran/parallel-loop-auto-reduction-2.f90:
1219 New test.
1220
1221 2021-11-16 Frederik Harwath <frederik@codesourcery.com>
1222 Thomas Schwinge <thomas@codesourcery.com>
1223
1224 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Adjust.
1225 * testsuite/libgomp.oacc-fortran/kernels-independent.f90: Adjust.
1226 * testsuite/libgomp.oacc-fortran/kernels-loop-1.f90: Adjust.
1227 * testsuite/libgomp.oacc-fortran/pr94358-1.f90: Adjust.
1228
1229 2021-11-16 Frederik Harwath <frederik@codesourcery.com>
1230 Thomas Schwinge <thomas@codesourcery.com>
1231
1232 * testsuite/libgomp.oacc-c-c++-common/pr85486-2.c: Adjust
1233 expected output to pass name changes due to the pass
1234 reordering and cloning.
1235 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-1.c: Likewise.
1236 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-2.c: Likewise.
1237 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-3.c: Likewise.
1238 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-4.c: Likewise.
1239 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-5.c: Likewise.
1240 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-6.c: Likewise
1241 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-7.c: Likewise.
1242
1243 2021-10-21 Tobias Burnus <tobias@codesourcery.com>
1244
1245 * testsuite/libgomp.oacc-fortran/declare-allocatable-1.f90: Compile
1246 with -Wopenacc-parallelism.
1247 * testsuite/libgomp.oacc-fortran/declare-allocatable-3.f90: Likewise.
1248
1249 2021-08-03 Andrew Stubbs <ams@codesourcery.com>
1250
1251 * config/gcn/bar.h (gomp_barrier_init): Limit thread count to the
1252 actual physical number.
1253 * config/gcn/team.c (gomp_team_start): Don't attempt to set up
1254 threads that do not exist.
1255
1256 2021-06-02 Julian Brown <julian@codesourcery.com>
1257
1258 * testsuite/libgomp.oacc-c-c++-common/deep-copy-15.c: New test.
1259 * testsuite/libgomp.oacc-c-c++-common/deep-copy-16.c: New test.
1260 * testsuite/libgomp.oacc-c++/deep-copy-17.C: New test.
1261
1262 2021-03-25 Thomas Schwinge <thomas@codesourcery.com>
1263
1264 * target.c (__requires_mask_table, __requires_mask_table_end): Add
1265 '__attribute__((weak))'.
1266
1267 2021-03-01 Kwok Cheung Yeung <kcy@codesourcery.com>
1268
1269 * testsuite/libgomp.c-c++-common/collapse-4.c: New.
1270 * testsuite/libgomp.fortran/collapse5.f90: New.
1271
1272 2021-02-23 Andrew Stubbs <ams@codesourcery.com>
1273
1274 * plugin/plugin-nvptx.c (GOMP_OFFLOAD_alloc): Remove early call to
1275 nvptx_stacks_free.
1276
1277 2021-02-02 Chung-Lin Tang <cltang@codesourcery.com>
1278
1279 * libgomp-plugin.h (GOMP_OFFLOAD_supported_features): New declaration.
1280 * libgomp.h (struct gomp_device_descr): New 'supported_features_func'
1281 plugin hook field.
1282 * oacc-host.c (host_supported_features): New host hook function.
1283 (host_dispatch): Initialize 'supported_features_func' host hook.
1284 * plugin/plugin-gcn.c (GOMP_OFFLOAD_supported_features): New function.
1285 * plugin/plugin-nvptx.c (GOMP_OFFLOAD_supported_features): Likewise.
1286 * target.c (<stdio.h>): Add include of standard header.
1287 (gomp_requires_mask): New static variable.
1288 (__requires_mask_table): New declaration.
1289 (__requires_mask_table_end): Likewise.
1290
1291 2021-01-13 Julian Brown <julian@codesourcery.com>
1292
1293 * testsuite/libgomp.oacc-c-c++-common/loop-gwv-1.c: Adjust for loop
1294 lowering changes.
1295 * testsuite/libgomp.oacc-c-c++-common/loop-wv-1.c: Likewise.
1296 * testsuite/libgomp.oacc-c-c++-common/loop-red-gwv-1.c: Likewise.
1297 * testsuite/libgomp.oacc-c-c++-common/loop-red-wv-1.c: Likewise.
1298 * testsuite/libgomp.oacc-c-c++-common/routine-gwv-1.c: Likewise.
1299 * testsuite/libgomp.oacc-c-c++-common/routine-wv-1.c: Likewise.
1300
1301 2020-07-16 Tobias Burnus <tobias@codesourcery.com>
1302
1303 * testsuite/libgomp.oacc-fortran/firstprivate-int.f90: Use
1304 highest available integer kind instead of assuming that kind=16 exists.
1305
1306 2020-03-24 Kwok Cheung Yeung <kcy@codesourcery.com>
1307
1308 * testsuite/libgomp.oacc-c-c++-common/data-firstprivate-1.c: XFAIL
1309 execution test.
1310
1311 2019-09-17 Julian Brown <julian@codesourcery.com>
1312 Kwok Cheung Yeung <kcy@codesourcery.com>
1313
1314 * testsuite/libgomp.oacc-c-c++-common/deep-copy-10.c (main): Fix
1315 async-safety issue. Increase number of iterations.
1316
1317 2021-04-07 Kwok Cheung Yeung <kcy@codesourcery.com>
1318
1319 * oacc-mem.c (goacc_enter_data_internal): Unlock mutex before calling
1320 gomp_acc_declare_allocate and relock it afterwards.
1321
1322 2018-10-04 Cesar Philippidis <cesar@codesourcery.com>
1323 Julian Brown <julian@codesourcery.com>
1324
1325 * libgomp.h (gomp_acc_declare_allocate): Remove prototype.
1326 * oacc-mem.c (gomp_acc_declare_allocate): New function.
1327 * oacc-parallel.c (goacc_enter_data_internal): Handle
1328 GOMP_MAP_DECLARE_ALLOCATE. Pass new pointer argument to
1329 gomp_acc_declare_allocate.
1330 (goacc_exit_data_internal): Handle GOMP_MAP_DECLARE_DEALLOCATE.
1331 Unlock device mutex around gomp_acc_declare_allocate call. Pass
1332 new pointer argument. Handle group pointer mapping for deallocate.
1333 (find_group_last): Handle GOMP_MAP_DECLARE_ALLOCATE and
1334 GOMP_MAP_DECLARE_DEALLOCATE groupings.
1335 * testsuite/libgomp.oacc-fortran/allocatable-scalar.f90: New test.
1336 * testsuite/libgomp.oacc-fortran/declare-allocatable-1.f90: New test.
1337 * testsuite/libgomp.oacc-fortran/declare-allocatable-2.f90: New test.
1338 * testsuite/libgomp.oacc-fortran/declare-allocatable-3.f90: New test.
1339 * testsuite/libgomp.oacc-fortran/declare-allocatable-4.f90: New test.
1340
1341 2019-09-17 Julian Brown <julian@codesourcery.com>
1342
1343 * oacc-host.c (host_openacc_async_queue_callback): Invoke callback
1344 function immediately.
1345 * oacc-parallel.c (struct async_prof_callback_info, async_prof_dispatch,
1346 queue_async_prof_dispatch): New.
1347 (GOACC_parallel_keyed): Call queue_async_prof_dispatch for asynchronous
1348 profile-event dispatches.
1349 (GOACC_update): Likewise.
1350 * oacc-mem.c (GOACC_enter_exit_data): Call queue_async_prof_dispatch
1351 for asynchronous profile-event dispatches.
1352 * testsuite/libgomp.oacc-c-c++-common/acc_prof-init-1.c
1353 (cb_compute_construct_start): Remove/fix TODO.
1354 * testsuite/libgomp.oacc-c-c++-common/acc_prof-parallel-1.c
1355 (cb_exit_data_start): Tweak expected state values.
1356 (cb_exit_data_end): Likewise.
1357 (cb_compute_construct_start): Remove/fix TODO.
1358 (cb_compute_construct_end): Don't do adjustments for
1359 acc_ev_enqueue_launch_start/acc_ev_enqueue_launch_end callbacks.
1360 (cb_compute_construct_end): Tweak expected state values.
1361 (cb_enqueue_launch_start, cb_enqueue_launch_end): Don't expect
1362 launch-enqueue operations to happen synchronously with respect to
1363 profiling events on async streams.
1364 (main): Tweak expected state values.
1365 * testsuite/libgomp.oacc-c-c++-common/lib-94.c (main): Reorder
1366 operations for async-safety.
1367
1368 2019-09-05 Julian Brown <julian@codesourcery.com>
1369
1370 * testsuite/libgomp.oacc-fortran/lib-13.f90: End data region after
1371 wait API calls.
1372
1373 2019-08-08 Julian Brown <julian@codesourcery.com>
1374
1375 * plugin/plugin-gcn.c (GOMP_OFFLOAD_openacc_exec_params,
1376 GOMP_OFFLOAD_openacc_async_exec_params): New functions.
1377
1378 2019-07-31 Julian Brown <julian@codesourcery.com>
1379
1380 * config/nvptx/gomp_print.c (gomp_print_string, gomp_print_integer,
1381 gomp_print_double): New.
1382
1383 2019-01-23 Thomas Schwinge <thomas@codesourcery.com>
1384
1385 * testsuite/libgomp.oacc-c-c++-common/acc_prof-kernels-1.c: Update.
1386
1387 2018-12-20 Maciej W. Rozycki <macro@codesourcery.com>
1388
1389 * oacc-init.c (get_property_any): Add profiling code.
1390
1391 2017-02-28 Thomas Schwinge <thomas@codesourcery.com>
1392
1393 * Makefile.am (libgomp_la_SOURCES): Add
1394 oacc-profiling-acc_register_library.c.
1395 * Makefile.in: Regenerate.
1396 * libgomp.texi: Remove paragraph about acc_register_library.
1397 * oacc-parallel.c (GOACC_parallel_keyed_internal): Set device_api for
1398 profiling.
1399 * oacc-profiling-acc_register_library.c: New file.
1400 * oacc-profiling.c (goacc_profiling_initialize): Call
1401 acc_register_library. Avoid duplicate registration.
1402 (acc_register_library): Remove.
1403 * config/nvptx/oacc-profiling-acc_register_library.c:
1404 New empty file.
1405 * config/nvptx/oacc-profiling.c: Likewise.
1406 * testsuite/libgomp.oacc-c-c++-common/acc_prof-dispatch-1.c: Remove
1407 call to acc_register_library.
1408 * testsuite/libgomp.oacc-c-c++-common/acc_prof-init-1.c: Likewise.
1409 * testsuite/libgomp.oacc-c-c++-common/acc_prof-kernels-1.c: Likewise.
1410 * testsuite/libgomp.oacc-c-c++-common/acc_prof-parallel-1.c: Likewise.
1411 * testsuite/libgomp.oacc-c-c++-common/acc_prof-valid_bytes-1.c:
1412 Likewise.
1413 * testsuite/libgomp.oacc-c-c++-common/acc_prof-version-1.c: Likewise.
1414
1415 2019-05-16 Julian Brown <julian@codesourcery.com>
1416
1417 * testsuite/libgomp.oacc-c-c++-common/kernels-for-index-reuse-1.c: New
1418 test.
1419
1420 2019-01-09 Julian Brown <julian@codesourcery.com>
1421
1422 * libgomp.texi: Update mentions of OpenACC version to 2.6. Update
1423 section numbers to match version 2.6 of the spec.
1424
1425 2019-01-30 Thomas Schwinge <thomas@codesourcery.com>
1426
1427 * testsuite/libgomp.oacc-c-c++-common/kernels-alias-ipa-pta-2.c:
1428 Add "--param=openacc-kernels=parloops".
1429 * testsuite/libgomp.oacc-c-c++-common/kernels-alias-ipa-pta-3.c:
1430 Likewise.
1431 * testsuite/libgomp.oacc-c-c++-common/kernels-alias-ipa-pta.c:
1432 Likewise.
1433 * testsuite/libgomp.oacc-c-c++-common/kernels-empty.c: Likewise.
1434 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-2.c: Likewise.
1435 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-3.c: Likewise.
1436 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-2.c:
1437 Likewise.
1438 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-3.c:
1439 Likewise.
1440 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-4.c:
1441 Likewise.
1442 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-5.c:
1443 Likewise.
1444 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-6.c:
1445 Likewise.
1446 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq.c:
1447 Likewise.
1448 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-collapse.c:
1449 Likewise.
1450 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-2.c:
1451 Likewise.
1452 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-enter-exit-2.c:
1453 Likewise.
1454 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-enter-exit.c:
1455 Likewise.
1456 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-update.c:
1457 Likewise.
1458 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data.c:
1459 Likewise.
1460 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-g.c: Likewise.
1461 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-mod-not-zero.c:
1462 Likewise.
1463 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-n.c: Likewise.
1464 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-nest.c:
1465 Likewise.
1466 * testsuite/libgomp.oacc-c-c++-common/kernels-loop.c: Likewise.
1467 * testsuite/libgomp.oacc-c-c++-common/kernels-parallel-loop-data-enter-exit.c:
1468 Likewise.
1469 * testsuite/libgomp.oacc-c-c++-common/kernels-reduction-1.c:
1470 Likewise.
1471 * testsuite/libgomp.oacc-c-c++-common/kernels-reduction.c:
1472 Likewise.
1473 * testsuite/libgomp.oacc-fortran/kernels-loop-2.f95: Likewise.
1474 * testsuite/libgomp.oacc-fortran/kernels-loop-data-2.f95:
1475 Likewise.
1476 * testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit-2.f95:
1477 Likewise.
1478 * testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit.f95:
1479 Likewise.
1480 * testsuite/libgomp.oacc-fortran/kernels-loop-data-update.f95:
1481 Likewise.
1482 * testsuite/libgomp.oacc-fortran/kernels-loop-data.f95: Likewise.
1483 * testsuite/libgomp.oacc-fortran/kernels-loop.f95: Likewise.
1484 * testsuite/libgomp.oacc-fortran/kernels-parallel-loop-data-enter-exit.f95:
1485 Likewise.
1486 * testsuite/libgomp.oacc-fortran/kernels-reduction-1.f90:
1487 Likewise.
1488
1489 2019-03-19 Julian Brown <julian@codesourcery.com>
1490
1491 * testsuite/libgomp.oacc-c-c++-common/lib-93.c: Adjust target selector.
1492
1493 2018-09-05 Cesar Philippidis <cesar@codesourcery.com>
1494 Chung-Lin Tang <cltang@codesourcery.com>
1495
1496 * testsuite/libgomp.oacc-c-c++-common/privatize-reduction-1.c: New
1497 test.
1498 * testsuite/libgomp.oacc-c-c++-common/privatize-reduction-2.c: New
1499 test.
1500
1501 2018-09-20 Cesar Philippidis <cesar@codesourcery.com>
1502
1503 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Adjust test case
1504 to conform to the new behavior of the auto clause in OpenACC 2.5.
1505
1506 2018-12-22 Cesar Philippidis <cesar@codesourcery.com>
1507 Julian Brown <julian@codesourcery.com>
1508
1509 * oacc-parallel.c (GOACC_parallel_keyed): Handle
1510 GOMP_MAP_FIRSTPRIVATE_INT host addresses.
1511 * plugin/plugin-nvptx.c (nvptx_exec): Handle
1512 GOMP_MAP_FIRSTPRIVATE_INT host addresses.
1513 * testsuite/libgomp.oacc-c++/firstprivate-int.C: New test.
1514 * testsuite/libgomp.oacc-c-c++-common/firstprivate-int.c: New
1515 test.
1516 * testsuite/libgomp.oacc-fortran/firstprivate-int.f90: New test.
1517
1518 2018-08-28 Julian Brown <julian@codesourcery.com>
1519 Cesar Philippidis <cesar@codesourcery.com>
1520
1521 * testsuite/libgomp.oacc-c-c++-common/pr70828.c: New test.
1522 * testsuite/libgomp.oacc-fortran/implicit_copy.f90: New test.
1523 * testsuite/libgomp.oacc-fortran/pr70828.f90: New test.
1524 * testsuite/libgomp.oacc-fortran/pr70828-2.f90: New test.
1525 * testsuite/libgomp.oacc-fortran/pr70828-3.f90: New test.
1526 * testsuite/libgomp.oacc-fortran/pr70828-4.f90: New test.
1527 * testsuite/libgomp.oacc-fortran/pr70828-5.f90: New test.
1528 * testsuite/libgomp.oacc-fortran/pr70828-6.f90: New test.
1529
1530 2018-10-05 Nathan Sidwell <nathan@acm.org>
1531 Tom de Vries <tdevries@suse.de>
1532 Thomas Schwinge <thomas@codesourcery.com>
1533 Julian Brown <julian@codesourcery.com>
1534
1535 * testsuite/libgomp.oacc-c-c++-common/loop-default-compile.c: New.
1536 * testsuite/libgomp.oacc-c-c++-common/loop-warn-1.c: New.
1537 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Likewise.
1538
1539 2018-10-22 James Norris <jnorris@codesourcery.com>
1540 Cesar Philippidis <cesar@codesourcery.com>
1541 Tom de Vries <tom@codesourcery.com>
1542
1543 * testsuite/libgomp.oacc-fortran/data-3.f90: Update parallel
1544 regions to denote variables copyied in via acc enter data as
1545 present.
1546 * testsuite/libgomp.oacc-c-c++-common/subr.h: Reimplement.
1547 * testsuite/libgomp.oacc-c-c++-common/subr.ptx: Regenerated PTX.
1548 * testsuite/libgomp.oacc-c-c++-common/timer.h: Removed.
1549 * testsuite/libgomp.oacc-c-c++-common/lib-69.c: Change async checks.
1550 * testsuite/libgomp.oacc-c-c++-common/lib-70.c: Likewise.
1551 * testsuite/libgomp.oacc-c-c++-common/lib-72.c: Rework kernel i/f and
1552 change async checks.
1553 * testsuite/libgomp.oacc-c-c++-common/lib-73.c: Likewise.
1554 * testsuite/libgomp.oacc-c-c++-common/lib-74.c: Rework kernel i/f and
1555 timing checks.
1556 * testsuite/libgomp.oacc-c-c++-common/lib-75.c: Likewise.
1557 * testsuite/libgomp.oacc-c-c++-common/lib-76.c: Likewise.
1558 * testsuite/libgomp.oacc-c-c++-common/lib-78.c: Likewise.
1559 * testsuite/libgomp.oacc-c-c++-common/lib-79.c: Likewise.
1560 * testsuite/libgomp.oacc-c-c++-common/lib-81.c: Likewise.
1561 * testsuite/libgomp.oacc-c-c++-common/lib-82.c: Likewise.
1562 * testsuite/libgomp.oacc-c-c++-common/lib-93.c: New test.
1563
1564 2018-12-13 Cesar Philippidis <cesar@codesourcery.com>
1565 Nathan Sidwell <nathan@acm.org>
1566 Julian Brown <julian@codesourcery.com>
1567
1568 * testsuite/libgomp.oacc-c-c++-common/par-reduction-3.c: New test.
1569 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-flt-2.c: New test.
1570 * testsuite/libgomp.oacc-fortran/reduction-9.f90: New test.
1571
1572 2018-06-29 Cesar Philippidis <cesar@codesourcery.com>
1573 James Norris <jnorris@codesourcery.com>
1574
1575 * oacc-parallel.c (GOACC_parallel_keyed): Handle Fortran deviceptr
1576 clause.
1577 (GOACC_data_start): Likewise.
1578 * testsuite/libgomp.oacc-fortran/deviceptr-1.f90: New test.
1579
1580 2019-02-12 Julian Brown <julian@codesourcery.com>
1581
1582 * oacc-cuda.c (acc_set_cuda_stream): Return 0 on error/invalid
1583 arguments.
1584 * testsuite/libgomp.oacc-c-c++-common/lib-84.c: Handle unnumbered
1585 async stream being an alias for a numbered async stream.
1586 * testsuite/libgomp.oacc-c-c++-common/lib-85.c: Likewise.
1587
1588 2020-04-19 Chung-Lin Tang <cltang@codesourcery.com>
1589
1590 PR other/76739
1591
1592 * libgomp_g.h (GOACC_data_start): Add variadic '...' to declaration.
1593 * libgomp.h (gomp_map_vars_openacc): New function declaration.
1594 * oacc-int.h (struct goacc_ncarray_dim): New struct declaration.
1595 (struct goacc_ncarray_descr_type): Likewise.
1596 (struct goacc_ncarray): Likewise.
1597 (struct goacc_ncarray_info): Likewise.
1598 (goacc_noncontig_array_create_ptrblock): New function declaration.
1599 * oacc-parallel.c (goacc_noncontig_array_count_rows): New function.
1600 (goacc_noncontig_array_compute_sizes): Likewise.
1601 (goacc_noncontig_array_fill_rows_1): Likewise.
1602 (goacc_noncontig_array_fill_rows): Likewise.
1603 (goacc_process_noncontiguous_arrays): Likewise.
1604 (goacc_noncontig_array_create_ptrblock): Likewise.
1605 (GOACC_parallel_keyed): Use goacc_process_noncontiguous_arrays to
1606 handle non-contiguous array descriptors at end of varargs, adjust
1607 to use gomp_map_vars_openacc.
1608 (GOACC_data_start): Likewise. Adjust function type to accept varargs.
1609 * target.c (gomp_map_vars_internal): Add struct goacc_ncarray_info *
1610 nca_info parameter, add handling code for non-contiguous arrays.
1611 (gomp_map_vars_openacc): Add new function for specialization of
1612 gomp_map_vars_internal for OpenACC structured region usage.
1613 * testsuite/libgomp.oacc-c-c++-common/noncontig_array-1.c: New test.
1614 * testsuite/libgomp.oacc-c-c++-common/noncontig_array-2.c: New test.
1615 * testsuite/libgomp.oacc-c-c++-common/noncontig_array-3.c: New test.
1616 * testsuite/libgomp.oacc-c-c++-common/noncontig_array-4.c: New test.
1617 * testsuite/libgomp.oacc-c-c++-common/noncontig_array-utils.h: Support
1618 header for new tests.
1619
This page took 0.108719 seconds and 5 git commands to generate.