X-Git-Url: https://git.libre-soc.org/?a=blobdiff_plain;f=libgomp%2FChangeLog;h=dbe181549c3084c11005cce0abc346eb98b45cc3;hb=95918b49dff7ec678d663838ec68fcb53994cf0e;hp=b52a29bc2ffb8374c14ff4bf166da99f7138db65;hpb=e5210c77a10c7d5e33153a58802cbe13981259d2;p=gcc.git diff --git a/libgomp/ChangeLog b/libgomp/ChangeLog index b52a29bc2ff..dbe181549c3 100644 --- a/libgomp/ChangeLog +++ b/libgomp/ChangeLog @@ -1,3 +1,1576 @@ +2016-01-07 H.J. Lu + + PR fortran/66680 + * testsuite/libgomp.fortran/pr66680.f90: New test. + +2016-01-07 Jakub Jelinek + + PR middle-end/68960 + * testsuite/libgomp.c/pr68960.c: New test. + +2016-01-06 Nathan Sidwell + + * openacc.h (acc_on_device): Add routine pragma for C++ wrapper. + * testsuite/libgomp.oacc-c-c++-common/acc-on-device-2.c: New. + +2016-01-04 Jakub Jelinek + + Update copyright years. + + * libgomp.texi: Bump @copying's copyright year. + +2015-12-31 Nathan Sidwell + + * testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c: Correct + dg-additional-options syntax. + * testsuite/libgomp.oacc-c-c++-common/loop-wv-1.c: Likewise. + * testsuite/libgomp.oacc-c-c++-common/loop-gwv-1.c: Likewise. + * testsuite/libgomp.oacc-c-c++-common/routine-v-1.c: Likewise. + * testsuite/libgomp.oacc-c-c++-common/loop-red-gwv-1.c: Likewise. + * testsuite/libgomp.oacc-c-c++-common/routine-gwv-1.c: Likewise. + * testsuite/libgomp.oacc-c-c++-common/routine-g-1.c: Likewise. + * testsuite/libgomp.oacc-c-c++-common/loop-v-1.c: Likewise. + * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Likewise. + * testsuite/libgomp.oacc-c-c++-common/routine-w-1.c: Likewise. + * testsuite/libgomp.oacc-c-c++-common/routine-wv-1.c: Likewise. + * testsuite/libgomp.oacc-c-c++-common/loop-red-v-1.c: Likewise. + * testsuite/libgomp.oacc-c-c++-common/loop-g-1.c: Likewise. + * testsuite/libgomp.oacc-c-c++-common/loop-w-1.c: Likewise. + * testsuite/libgomp.oacc-c-c++-common/loop-red-wv-1.c: Likewise. + * testsuite/libgomp.oacc-c-c++-common/loop-red-v-2.c: Likewise. + * testsuite/libgomp.oacc-c-c++-common/loop-g-2.c: Likewise. + * testsuite/libgomp.oacc-c-c++-common/loop-red-g-1.c: Likewise. + * testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c: Likewise. + +2015-12-15 Ilya Verbin + + * libgomp.h (REFCOUNT_LINK): Define. + (struct splay_tree_key_s): Add link_key. + * target.c (gomp_map_vars): Treat REFCOUNT_LINK objects as not mapped. + Replace target address of the pointer with target address of newly + mapped object in the splay tree. Set link pointer on target to the + device address of the mapped object. + (gomp_unmap_vars): Restore target address of the pointer in the splay + tree for REFCOUNT_LINK objects after unmapping. + (gomp_load_image_to_device): Set refcount to REFCOUNT_LINK for "omp + declare target link" objects. + (gomp_unload_image_from_device): Replace j with i. Force unmap of all + "omp declare target link" objects, which were mapped for the image. + (gomp_exit_data): Restore target address of the pointer in the splay + tree for REFCOUNT_LINK objects after unmapping. + * testsuite/libgomp.c/target-link-1.c: New file. + +2015-12-14 Ilya Verbin + + * libgomp.h (gomp_device_state): New enum. + (struct gomp_device_descr): Replace is_initialized with state. + (gomp_fini_device): Remove declaration. + * oacc-host.c (host_dispatch): Use state instead of is_initialized. + * oacc-init.c (acc_init_1): Use state instead of is_initialized. + (acc_shutdown_1): Likewise. Inline gomp_fini_device. + (acc_set_device_type): Use state instead of is_initialized. + (acc_set_device_num): Likewise. + * target.c (resolve_device): Use state instead of is_initialized. + Do not initialize finalized device. + (gomp_map_vars): Do nothing if device is finalized. + (gomp_unmap_vars): Likewise. + (gomp_update): Likewise. + (GOMP_offload_register_ver): Use state instead of is_initialized. + (GOMP_offload_unregister_ver): Likewise. + (gomp_init_device): Likewise. + (gomp_unload_device): Likewise. + (gomp_fini_device): Remove. + (gomp_get_target_fn_addr): Do nothing if device is finalized. + (GOMP_target): Go to host fallback if device is finalized. + (GOMP_target_ext): Likewise. + (gomp_exit_data): Do nothing if device is finalized. + (gomp_target_task_fn): Go to host fallback if device is finalized. + (gomp_target_fini): New static function. + (gomp_target_init): Use state instead of is_initialized. + Call gomp_target_fini at exit. + +2015-12-09 Tom de Vries + + PR tree-optimization/68716 + * testsuite/libgomp.c/omp-nested-2.c: New test. + +2015-12-02 Thomas Schwinge + + * testsuite/libgomp.oacc-c-c++-common/host_data-2.c: Restrict to + target openacc_nvidia_accel_selected. + * testsuite/libgomp.oacc-c-c++-common/host_data-4.c: Likewise. + * testsuite/libgomp.oacc-c-c++-common/host_data-5.c: Likewise. + * testsuite/libgomp.oacc-c-c++-common/host_data-3.c: Remove file. + * testsuite/libgomp.oacc-c-c++-common/host_data-6.c: Remove file. + +2015-12-01 Julian Brown + James Norris + + * oacc-parallel.c (GOACC_host_data): New function. + * libgomp.map (GOACC_host_data): Add to GOACC_2.0.1. + * testsuite/libgomp.oacc-c-c++-common/host_data-1.c: New test. + * testsuite/libgomp.oacc-c-c++-common/host_data-2.c: New test. + * testsuite/libgomp.oacc-c-c++-common/host_data-3.c: New test. + * testsuite/libgomp.oacc-c-c++-common/host_data-4.c: New test. + * testsuite/libgomp.oacc-c-c++-common/host_data-5.c: New test. + * testsuite/libgomp.oacc-c-c++-common/host_data-6.c: New test. + +2015-11-30 James Norris + Cesar Philippidis + + libgomp/ + * libgomp.oacc-fortran/routine-5.f90: New test. + * libgomp.oacc-fortran/routine-7.f90: New test. + * libgomp.oacc-fortran/routine-9.f90: New test. + +2015-11-30 Tom de Vries + + PR tree-optimization/46032 + * testsuite/libgomp.c/pr46032.c: New test. + +2015-11-27 Jakub Jelinek + + PR libgomp/68579 + * task.c (gomp_task_run_post_handle_depend_hash): New forward decl. + (gomp_create_target_task): Call it before freeing + GOMP_TARGET_TASK_DATA tasks. + + PR c/63326 + * testsuite/libgomp.c/cancel-parallel-2.c (foo): Add semicolon + in between case label and OpenMP standalone directives. + * testsuite/libgomp.c++/cancel-parallel-2.C (foo): Likewise. + +2015-11-26 David Edelsohn + + * configure: Regenerate. + +2015-11-26 Jakub Jelinek + + * testsuite/libgomp.c/target-35.c: New test. + +2015-11-22 James Norris + Cesar Philippidis + + * testsuite/libgomp.oacc-fortran/declare-1.f90: New test. + * testsuite/libgomp.oacc-fortran/declare-2.f90: Likewise. + * testsuite/libgomp.oacc-fortran/declare-3.f90: Likewise. + * testsuite/libgomp.oacc-fortran/declare-4.f90: Likewise. + * testsuite/libgomp.oacc-fortran/declare-5.f90: Likewise. + +2015-11-20 Jakub Jelinek + + PR middle-end/68221 + * testsuite/libgomp.c/reduction-11.c: Remove xfail. + * testsuite/libgomp.c/reduction-12.c: Likewise. + * testsuite/libgomp.c++/reduction-11.C: Likewise. + * testsuite/libgomp.c++/reduction-12.C: Likewise. + +2015-11-19 Nathan Sidwell + + * libgomp.oacc-c-c++-common/reduction-dbl.c: New. + * libgomp.oacc-c-c++-common/reduction-flt.c: New. + * libgomp.oacc-c-c++-common/reduction-cplx-dbl.c: Use typedef. + * libgomp.oacc-c-c++-common/reduction-cplx-flt.c: Use typedef. + * libgomp.oacc-c-c++-common/reduction-2.c: Uncomment broken tests + and fix. + * libgomp.oacc-c-c++-common/reduction-3.c: Likewise. + * libgomp.oacc-c-c++-common/reduction-4.c: Likewise. + +2015-11-18 Nathan Sidwell + + * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-flt.c: Add + worker & gang cases. + * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-dbl.c: Likewise. + +2015-11-17 Cesar Philippidis + + * config/nvptx/priority_queue.c: New file. + +2015-11-14 Jakub Jelinek + + * libgomp.texi: Update references from OpenMP 4.0 to OpenMP 4.5 + sections. + +2015-11-14 Jakub Jelinek + Aldy Hernandez + Ilya Verbin + + * ordered.c (gomp_doacross_init, GOMP_doacross_post, + GOMP_doacross_wait, gomp_doacross_ull_init, GOMP_doacross_ull_post, + GOMP_doacross_ull_wait): For GFS_GUIDED don't divide number of + iterators or IV by chunk size. + * parallel.c (gomp_resolve_num_threads): Don't assume that + if thr->ts.team is non-NULL, then pool must be non-NULL. + * libgomp-plugin.h (GOMP_PLUGIN_target_task_completion): Declare. + * libgomp.map (GOMP_PLUGIN_1.1): New symbol version, export + GOMP_PLUGIN_target_task_completion. + * Makefile.am (libgomp_la_SOURCES): Add priority_queue.c. + * Makefile.in: Regenerate. + * libgomp.h: Shuffle prototypes and forward definitions around so + priority queues can be defined. + (enum gomp_task_kind): Add GOMP_TASK_ASYNC_RUNNING. + (enum gomp_target_task_state): New enum. + (struct gomp_target_task): Add state, tgt, task and team fields. + (gomp_create_target_task): Change return type to bool, add + state argument. + (gomp_target_task_fn): Change return type to bool. + (struct gomp_device_descr): Add async_run_func. + (struct gomp_task): Remove children, next_child, prev_child, + next_queue, prev_queue, next_taskgroup, prev_taskgroup. + Add pnode field. + (struct gomp_taskgroup): Remove children. + Add taskgroup_queue. + (struct gomp_team): Change task_queue type to a priority queue. + (splay_compare): Define inline. + (priority_queue_offset): New. + (priority_node_to_task): New. + (task_to_priority_node): New. + * oacc-mem.c: Do not include splay-tree.h. + * priority_queue.c: New file. + * priority_queue.h: New file. + * splay-tree.c: Do not include splay-tree.h. + (splay_tree_foreach_internal): New. + (splay_tree_foreach): New. + * splay-tree.h: Become re-entrant if splay_tree_prefix is defined. + (splay_tree_callback): Define typedef. + * target.c (splay_compare): Move to libgomp.h. + (GOMP_target): Don't adjust *thr in any way around running offloaded + task. + (GOMP_target_ext): Likewise. Handle target nowait. + (GOMP_target_update_ext, GOMP_target_enter_exit_data): Check + return value from gomp_create_target_task, if false, fallthrough + as if no dependencies exist. + (gomp_target_task_fn): Change return type to bool, return true + if the task should have another part scheduled later. Handle + target nowait. + (gomp_load_plugin_for_device): Initialize async_run. + * task.c (gomp_init_task): Initialize children_queue. + (gomp_clear_parent_in_list): New. + (gomp_clear_parent_in_tree): New. + (gomp_clear_parent): Handle priorities. + (GOMP_task): Likewise. + (priority_queue_move_task_first, + gomp_target_task_completion, GOMP_PLUGIN_target_task_completion): + New functions. + (gomp_create_target_task): Use priority queues. Change return type + to bool, add state argument, return false if for async + {{enter,exit} data,update} constructs no dependencies need to be + waited for, handle target nowait. Set task->fn to NULL instead of + gomp_target_task_fn. + (verify_children_queue): Remove. + (priority_list_upgrade_task): New. + (priority_queue_upgrade_task): New. + (verify_task_queue): Remove. + (priority_list_downgrade_task): New. + (priority_queue_downgrade_task): New. + (gomp_task_run_pre): Use priority queues. + Abstract code out to priority_queue_downgrade_task. + (gomp_task_run_post_handle_dependers): Use priority queues. + (gomp_task_run_post_remove_parent): Likewise. + (gomp_task_run_post_remove_taskgroup): Likewise. + (gomp_barrier_handle_tasks): Likewise. Handle target nowait target + tasks specially. + (GOMP_taskwait): Likewise. + (gomp_task_maybe_wait_for_dependencies): Likewise. Abstract code to + priority-queue_upgrade_task. + (GOMP_taskgroup_start): Use priority queues. + (GOMP_taskgroup_end): Likewise. Handle target nowait target tasks + specially. If taskgroup is NULL, and thr->ts.level is 0, act as a + barrier. + * taskloop.c (GOMP_taskloop): Handle priorities. + * team.c (gomp_new_team): Call priority_queue_init. + (free_team): Call priority_queue_free. + (gomp_free_thread): Call gomp_team_end if thr->ts.team is artificial + team created for target nowait in implicit parallel region. + (gomp_team_start): For nested check, test thr->ts.level instead of + thr->ts.team != NULL. + * testsuite/libgomp.c/doacross-3.c: New test. + * testsuite/libgomp.c/ordered-5.c: New test. + * testsuite/libgomp.c/priority.c: New test. + * testsuite/libgomp.c/target-31.c: New test. + * testsuite/libgomp.c/target-32.c: New test. + * testsuite/libgomp.c/target-33.c: New test. + * testsuite/libgomp.c/target-34.c: New test. + +2015-11-13 Nathan Sidwell + + * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: New. + + * testsuite/libgomp.oacc-c-c++-common/collapse-2.c: Sequential + loop is sequential. + +2015-11-13 Nathan Sidwell + + * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-dbl.c: New. + * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-flt.c: New. + +2015-11-12 James Norris + Joseph Myers + + * libgomp.map (GOACC_2.0.1): Export GOACC_declare. + * oacc-parallel.c (GOACC_declare): New function. + * testsuite/libgomp.oacc-c-c++-common/declare-1.c: New test. + * testsuite/libgomp.oacc-c-c++-common/declare-2.c: Likewise. + * testsuite/libgomp.oacc-c-c++-common/declare-4.c: Likewise. + * testsuite/libgomp.oacc-c-c++-common/declare-5.c: Likewise. + * testsuite/libgomp.oacc-c++/declare-1.C: Likewise. + +2015-11-12 Nathan Sidwell + + * testsuite/libgomp.oacc-c-c++-common/default-1.c: New. + +2015-11-1 Nathan Sidwell + + * testsuite/libgomp.oacc-c-c++-common/firstprivate-1.c: New. + * testsuite/libgomp.oacc-c-c++-common/firstprivate-2.c: New. + +2015-11-09 Nathan Sidwell + + * testsuite/libgomp.oacc-c-c++-common/firstprivate-1.c: Remove + inadvertent commit. + +2015-11-09 Nathan Sidwell + + * testsuite/libgomp.oacc-c-c++-common/routine-g-1.c: New. + * testsuite/libgomp.oacc-c-c++-common/routine-gwv-1.c: New. + * testsuite/libgomp.oacc-c-c++-common/routine-v-1.c: New. + * testsuite/libgomp.oacc-c-c++-common/routine-w-1.c: New. + * testsuite/libgomp.oacc-c-c++-common/routine-wv-1.c: New. + +2015-11-06 Thomas Schwinge + + * testsuite/libgomp.oacc-c-c++-common/loop-red-v-2.c: XFAIL. + * testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c: Likewise. + +2015-11-05 Jakub Jelinek + Ilya Verbin + + * libgomp_g.h (GOMP_loop_nonmonotonic_dynamic_next, + GOMP_loop_nonmonotonic_dynamic_start, + GOMP_loop_nonmonotonic_guided_next, + GOMP_loop_nonmonotonic_guided_start, + GOMP_loop_ull_nonmonotonic_dynamic_next, + GOMP_loop_ull_nonmonotonic_dynamic_start, + GOMP_loop_ull_nonmonotonic_guided_next, + GOMP_loop_ull_nonmonotonic_guided_start, + GOMP_parallel_loop_nonmonotonic_dynamic, + GOMP_parallel_loop_nonmonotonic_guided): New prototypes. + (GOMP_target_41): Renamed to ... + (GOMP_target_ext): ... this. Add num_teams and thread_limit + arguments. + (GOMP_target_data_41): Renamed to ... + (GOMP_target_data_ext): ... this. + (GOMP_target_update_41): Renamed to ... + (GOMP_target_update_ext): ... this. + * libgomp.map (GOMP_4.5): Export GOMP_target_ext, + GOMP_target_data_ext and GOMP_target_update_ext instead of + GOMP_target_41, GOMP_target_data_41 and GOMP_target_update_41. + Export GOMP_loop_nonmonotonic_dynamic_next, + GOMP_loop_nonmonotonic_dynamic_start, + GOMP_loop_nonmonotonic_guided_next, + GOMP_loop_nonmonotonic_guided_start, + GOMP_loop_ull_nonmonotonic_dynamic_next, + GOMP_loop_ull_nonmonotonic_dynamic_start, + GOMP_loop_ull_nonmonotonic_guided_next, + GOMP_loop_ull_nonmonotonic_guided_start, + GOMP_parallel_loop_nonmonotonic_dynamic and + GOMP_parallel_loop_nonmonotonic_guided. + * loop.c (GOMP_parallel_loop_nonmonotonic_dynamic, + GOMP_parallel_loop_nonmonotonic_guided, + GOMP_loop_nonmonotonic_dynamic_start, + GOMP_loop_nonmonotonic_guided_start, + GOMP_loop_nonmonotonic_dynamic_next, + GOMP_loop_nonmonotonic_guided_next): New aliases or functions. + * loop_ull.c (GOMP_loop_ull_nonmonotonic_dynamic_start, + GOMP_loop_ull_nonmonotonic_guided_start, + GOMP_loop_ull_nonmonotonic_dynamic_next, + GOMP_loop_ull_nonmonotonic_guided_next): Likewise. + * target.c (gomp_map_0len_lookup, gomp_map_val): New inline + functions. + (gomp_map_vars): Handle GOMP_MAP_ALWAYS_POINTER. For + GOMP_MAP_ZERO_LEN_ARRAY_SECTION use gomp_map_0len_lookup. + Use gomp_map_val function. + (gomp_target_fallback_firstprivate): New static function. + (GOMP_target_41): Renamed to ... + (GOMP_target_ext): ... this. Add num_teams and thread_limit + arguments. Move firstprivate fallback handling into a new + function. + (GOMP_target_data_41): Renamed to ... + (GOMP_target_data_ext): ... this. + (GOMP_target_update_41): Renamed to ... + (GOMP_target_update_ext): ... this. + (gomp_exit_data): For GOMP_MAP_*ZERO_LEN* use + gomp_map_0len_lookup instead of gomp_map_lookup. + (omp_target_is_present): Use gomp_map_0len_lookup instead of + gomp_map_lookup. + * testsuite/libgomp.c/target-28.c: Likewise. + * testsuite/libgomp.c/monotonic-1.c: New test. + * testsuite/libgomp.c/monotonic-2.c: New test. + * testsuite/libgomp.c/nonmonotonic-1.c: New test. + * testsuite/libgomp.c/nonmonotonic-2.c: New test. + * testsuite/libgomp.c/pr66199-5.c: New test. + * testsuite/libgomp.c/pr66199-6.c: New test. + * testsuite/libgomp.c/pr66199-7.c: New test. + * testsuite/libgomp.c/pr66199-8.c: New test. + * testsuite/libgomp.c/pr66199-9.c: New test. + * testsuite/libgomp.c/reduction-11.c: New test. + * testsuite/libgomp.c/reduction-12.c: New test. + * testsuite/libgomp.c/reduction-13.c: New test. + * testsuite/libgomp.c/reduction-14.c: New test. + * testsuite/libgomp.c/reduction-15.c: New test. + * testsuite/libgomp.c/target-12.c (main): Adjust for + omp_target_is_present change for one-past-last element. + * testsuite/libgomp.c/target-17.c (foo): Drop tests where + the same var is both mapped and privatized. + * testsuite/libgomp.c/target-19.c (foo): Adjust for different + handling of zero-length array sections. + * testsuite/libgomp.c/target-28.c: New test. + * testsuite/libgomp.c/target-29.c: New test. + * testsuite/libgomp.c/target-30.c: New test. + * testsuite/libgomp.c/target-teams-1.c: New test. + * testsuite/libgomp.c++/member-6.C: New test. + * testsuite/libgomp.c++/member-7.C: New test. + * testsuite/libgomp.c++/monotonic-1.C: New test. + * testsuite/libgomp.c++/monotonic-2.C: New test. + * testsuite/libgomp.c++/nonmonotonic-1.C: New test. + * testsuite/libgomp.c++/nonmonotonic-2.C: New test. + * testsuite/libgomp.c++/pr66199-3.C: New test. + * testsuite/libgomp.c++/pr66199-4.C: New test. + * testsuite/libgomp.c++/pr66199-5.C: New test. + * testsuite/libgomp.c++/pr66199-6.C: New test. + * testsuite/libgomp.c++/pr66199-7.C: New test. + * testsuite/libgomp.c++/pr66199-8.C: New test. + * testsuite/libgomp.c++/pr66199-9.C: New test. + * testsuite/libgomp.c++/reduction-11.C: New test. + * testsuite/libgomp.c++/reduction-12.C: New test. + * testsuite/libgomp.c++/target-13.C: New test. + * testsuite/libgomp.c++/target-14.C: New test. + * testsuite/libgomp.c++/target-15.C: New test. + * testsuite/libgomp.c++/target-16.C: New test. + * testsuite/libgomp.c++/target-17.C: New test. + * testsuite/libgomp.c++/target-18.C: New test. + * testsuite/libgomp.c++/target-19.C: New test. + +2015-11-04 Nathan Sidwell + + * testsuite/libgomp.oacc-fortran/reduction-1.f90: Fix dimensions + and reduction copy. + * testsuite/libgomp.oacc-fortran/reduction-2.f90: Likewise. + * testsuite/libgomp.oacc-fortran/reduction-3.f90: Likewise. + * testsuite/libgomp.oacc-fortran/reduction-4.f90: Likewise. + * testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise. + * testsuite/libgomp.oacc-c-c++-common/par-reduction-1.c: Likewise. + * testsuite/libgomp.oacc-c-c++-common/reduction-3.c: Likewise. + * testsuite/libgomp.oacc-c-c++-common/collapse-2.c: Likewise. + * testsuite/libgomp.oacc-c-c++-common/par-reduction-2.c: Likewise. + * testsuite/libgomp.oacc-c-c++-common/reduction-4.c: Likewise. + * testsuite/libgomp.oacc-c-c++-common/reduction-initial-1.c: Likewise. + * testsuite/libgomp.oacc-c-c++-common/reduction-1.c: Likewise. + * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Likewise. + * testsuite/libgomp.oacc-c-c++-common/reduction-2.c: Likewise. + * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: New. + +2015-11-04 Nathan Sidwell + + * libgomp.oacc-c-c++-common/loop-red-g-1.c: New. + * libgomp.oacc-c-c++-common/loop-red-gwv-1.c: New. + * libgomp.oacc-c-c++-common/loop-red-v-1.c: New. + * libgomp.oacc-c-c++-common/loop-red-v-2.c: New. + * libgomp.oacc-c-c++-common/loop-red-w-1.c: New. + * libgomp.oacc-c-c++-common/loop-red-w-2.c: New. + * libgomp.oacc-c-c++-common/loop-red-wv-1.c: New. + * libgomp.oacc-fortran/reduction-5.f90: Avoid reference var. + +2015-11-03 Nathan Sidwell + + * libgomp.h (struct acc_dispatch_t): Remove args from exec_func. + * plugin/plugin-nvptx.c (nvptx_exec): Remove sizes & kinds arg. + (GOMP_OFFLOAD_openacc_parallel): Likewise. + * oacc-host.c (host_openacc_exec): Likewise. + * oacc-parallel.c (GOACC_parallel_keyed): Adjust exec_func call. + +2015-11-03 Julian Brown + Thomas Schwinge + + * testsuite/libgomp.oacc-c-c++-common/par-reduction-1.c: New file. + * testsuite/libgomp.oacc-c-c++-common/par-reduction-2.c: Likewise. + * testsuite/libgomp.oacc-c-c++-common/worker-single-1a.c: + Likewise. + * testsuite/libgomp.oacc-c-c++-common/worker-single-4.c: Likewise. + * testsuite/libgomp.oacc-c-c++-common/worker-single-6.c: Likewise. + +2015-11-03 James Norris + + * testsuite/libgomp.oacc-c-c++-common/atomic_capture-1.c: New + file. + * testsuite/libgomp.oacc-c-c++-common/atomic_capture-2.c: + Likewise. + * testsuite/libgomp.oacc-c-c++-common/atomic_rw-1.c: Likewise. + * testsuite/libgomp.oacc-c-c++-common/atomic_update-1.c: Likewise. + * testsuite/libgomp.oacc-fortran/atomic_capture-1.f90: Likewise. + * testsuite/libgomp.oacc-fortran/atomic_rw-1.f90: New file. + * testsuite/libgomp.oacc-fortran/atomic_update-1.f90: Likewise. + +2015-10-29 Nathan Sidwell + + * openacc.h (enum acc_device_t): Reformat. Ensure layout + compatibility. + (enum acc_async_t): Reformat. + (acc_on_device): Declare compatible with builtin and provide C++ + wrapper. + * testsuite/libgomp.oacc-c-c++-common/acc-on-device.c: New. + +2015-10-29 Thomas Schwinge + Cesar Philippidis + + * testsuite/libgomp.oacc-c-c++-common/combdir-1.c: Rename to... + * testsuite/libgomp.oacc-c-c++-common/combined-directives-1.c: + ... this. Add a description of the test at the top of the file. + * testsuite/libgomp.oacc-fortran/combdir-1.f90: Rename file to... + * testsuite/libgomp.oacc-fortran/combined-directives-1.f90: + ... this. Add a description of the test at the top of the file. + +2015-10-28 Nathan Sidwell + + * testsuite/libgomp.oacc-c-c++-common/loop-g-1.c: New. + * testsuite/libgomp.oacc-c-c++-common/loop-g-2.c: New. + * testsuite/libgomp.oacc-c-c++-common/loop-gwv-1.c: New. + * testsuite/libgomp.oacc-c-c++-common/loop-v-1.c: New. + * testsuite/libgomp.oacc-c-c++-common/loop-w-1.c: New. + * testsuite/libgomp.oacc-c-c++-common/loop-wv-1.c: New. + +2015-10-27 Nathan Sidwell + + * plugin/plugin-nvptx.c (nvptx_exec): Remove check on compute + dimensions. + +2015-10-27 Thomas Schwinge + + PR testsuite/68063 + * testsuite/libgomp.c++/member-1.C (A::m1): Add missing private clause. + +2015-10-27 James Norris + + * testsuite/libgomp.oacc-c-c++-common/combdir-1.c: New file. + * testsuite/libgomp.oacc-fortran/combdir-1.f90: Likewise. + +2015-10-26 Thomas Schwinge + + * testsuite/libgomp.oacc-c-c++-common/abort-1.c: Print to stderr. + * testsuite/libgomp.oacc-c-c++-common/abort-3.c: Likewise. + + * testsuite/libgomp.oacc-c-c++-common/lib-1.c: Remove explicit + acc_device_nvidia usage. + * testsuite/libgomp.oacc-c-c++-common/lib-10.c: Likewise. + * testsuite/libgomp.oacc-c-c++-common/lib-2.c: Likewise. + * testsuite/libgomp.oacc-c-c++-common/lib-9.c: Likewise. + + * oacc-init.c (acc_shutdown): Call gomp_init_targets_once. + * testsuite/libgomp.oacc-c-c++-common/lib-8.c: New file. + + PR libgomp/66518 + * testsuite/libgomp.oacc-c-c++-common/lib-3.c: Resolve XFAIL. + + PR libgomp/65437 + PR libgomp/66518 + * oacc-mem.c (update_dev_host): Call goacc_lazy_initialize. + * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Remove XFAIL. + +2015-10-23 Tom de Vries + + PR testsuite/68063 + * testsuite/libgomp.c++/member-2.C (A::m1): Add missing private clause. + +2015-10-20 Nathan Sidwell + + * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Set sane + vector_length. + * testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise. + +2015-10-14 Ilya Verbin + Aleksander Ivanushenko + + * target.c (gomp_map_vars): Initialize tgt->tgt_start and tgt->tgt_end + to 0 when mapnum is 0. + +2015-10-14 Sebastian Huber + + * fortran.c (omp_get_place_proc_ids_, omp_get_partition_place_nums_): + Cast to int from int32_t. + +2015-10-13 Jakub Jelinek + Aldy Hernandez + Ilya Verbin + + * config/linux/affinity.c (omp_get_place_num_procs, + omp_get_place_proc_ids, gomp_get_place_proc_ids_8): New functions. + * config/linux/doacross.h: New file. + * config/posix/affinity.c (omp_get_place_num_procs, + omp_get_place_proc_ids, gomp_get_place_proc_ids_8): New functions. + * config/posix/doacross.h: New file. + * env.c: Include gomp-constants.h. + (struct gomp_task_icv): Rename run_sched_modifier to + run_sched_chunk_size. + (gomp_max_task_priority_var): New variable. + (parse_schedule): Rename run_sched_modifier to run_sched_chunk_size. + (handle_omp_display_env): Change _OPENMP value from 201307 to + 201511. Print OMP_MAX_TASK_PRIORITY. + (initialize_env): Parse OMP_MAX_TASK_PRIORITY. + (omp_set_schedule, omp_get_schedule): Rename modifier argument to + chunk_size and run_sched_modifier to run_sched_chunk_size. + (omp_get_max_task_priority, omp_get_initial_device, + omp_get_num_places, omp_get_place_num, omp_get_partition_num_places, + omp_get_partition_place_nums): New functions. + * fortran.c (omp_set_schedule_, omp_set_schedule_8_, + omp_get_schedule_, omp_get_schedule_8_): Rename modifier argument + to chunk_size. + (omp_get_num_places_, omp_get_place_num_procs_, + omp_get_place_num_procs_8_, omp_get_place_proc_ids_, + omp_get_place_proc_ids_8_, omp_get_place_num_, + omp_get_partition_num_places_, omp_get_partition_place_nums_, + omp_get_partition_place_nums_8_, omp_get_initial_device_, + omp_get_max_task_priority_): New functions. + * libgomp_g.h (GOMP_loop_doacross_static_start, + GOMP_loop_doacross_dynamic_start, GOMP_loop_doacross_guided_start, + GOMP_loop_doacross_runtime_start, GOMP_loop_ull_doacross_static_start, + GOMP_loop_ull_doacross_dynamic_start, + GOMP_loop_ull_doacross_guided_start, + GOMP_loop_ull_doacross_runtime_start, GOMP_doacross_post, + GOMP_doacross_wait, GOMP_doacross_ull_post, GOMP_doacross_wait, + GOMP_taskloop, GOMP_taskloop_ull, GOMP_target_41, + GOMP_target_data_41, GOMP_target_update_41, + GOMP_target_enter_exit_data): New prototypes. + (GOMP_task): Add prototype argument. + * libgomp.h (_LIBGOMP_CHECKING_): Define to 0 if not yet defined. + (struct gomp_doacross_work_share): New type. + (struct gomp_work_share): Add doacross field. + (struct gomp_task_icv): Rename run_sched_modifier to + run_sched_chunk_size. + (enum gomp_task_kind): Rename GOMP_TASK_IFFALSE to + GOMP_TASK_UNDEFERRED. Add comments. + (struct gomp_task_depend_entry): Add comments. + (struct gomp_task): Likewise. + (struct gomp_taskgroup): Likewise. + (struct gomp_target_task): New type. + (struct gomp_team): Add comment. + (gomp_get_place_proc_ids_8, gomp_doacross_init, + gomp_doacross_ull_init, gomp_task_maybe_wait_for_dependencies, + gomp_create_target_task, gomp_target_task_fn): New prototypes. + (struct target_var_desc): New type. + (struct target_mem_desc): Adjust comment. Use struct + target_var_desc instead of splay_tree_key for list. + (REFCOUNT_INFINITY): Define. + (struct splay_tree_key_s): Remove copy_from field. + (struct gomp_device_descr): Add dev2dev_func field. + (enum gomp_map_vars_kind): New enum. + (gomp_map_vars): Add one argument. + * libgomp.map (OMP_4.5): Export omp_get_max_task_priority, + omp_get_max_task_priority_, omp_get_num_places, omp_get_num_places_, + omp_get_place_num_procs, omp_get_place_num_procs_, + omp_get_place_num_procs_8_, omp_get_place_proc_ids, + omp_get_place_proc_ids_, omp_get_place_proc_ids_8_, omp_get_place_num, + omp_get_place_num_, omp_get_partition_num_places, + omp_get_partition_num_places_, omp_get_partition_place_nums, + omp_get_partition_place_nums_, omp_get_partition_place_nums_8_, + omp_get_initial_device, omp_get_initial_device_, omp_target_alloc, + omp_target_free, omp_target_is_present, omp_target_memcpy, + omp_target_memcpy_rect, omp_target_associate_ptr and + omp_target_disassociate_ptr. + (GOMP_4.0.2): Renamed to ... + (GOMP_4.5): ... this. Export GOMP_target_41, GOMP_target_data_41, + GOMP_target_update_41, GOMP_target_enter_exit_data, GOMP_taskloop, + GOMP_taskloop_ull, GOMP_loop_doacross_dynamic_start, + GOMP_loop_doacross_guided_start, GOMP_loop_doacross_runtime_start, + GOMP_loop_doacross_static_start, GOMP_doacross_post, + GOMP_doacross_wait, GOMP_loop_ull_doacross_dynamic_start, + GOMP_loop_ull_doacross_guided_start, + GOMP_loop_ull_doacross_runtime_start, + GOMP_loop_ull_doacross_static_start, GOMP_doacross_ull_post and + GOMP_doacross_ull_wait. + * libgomp.texi: Document omp_get_max_task_priority. + Rename modifier argument to chunk_size for omp_set_schedule and + omp_get_schedule. Document OMP_MAX_TASK_PRIORITY env var. + * loop.c (GOMP_loop_runtime_start): Adjust for run_sched_modifier + to run_sched_chunk_size renaming. + (GOMP_loop_ordered_runtime_start): Likewise. + (gomp_loop_doacross_static_start, gomp_loop_doacross_dynamic_start, + gomp_loop_doacross_guided_start, GOMP_loop_doacross_runtime_start, + GOMP_parallel_loop_runtime_start): New functions. + (GOMP_parallel_loop_runtime): Adjust for run_sched_modifier + to run_sched_chunk_size renaming. + (GOMP_loop_doacross_static_start, GOMP_loop_doacross_dynamic_start, + GOMP_loop_doacross_guided_start): New functions or aliases. + * loop_ull.c (GOMP_loop_ull_runtime_start): Adjust for + run_sched_modifier to run_sched_chunk_size renaming. + (GOMP_loop_ull_ordered_runtime_start): Likewise. + (gomp_loop_ull_doacross_static_start, + gomp_loop_ull_doacross_dynamic_start, + gomp_loop_ull_doacross_guided_start, + GOMP_loop_ull_doacross_runtime_start): New functions. + (GOMP_loop_ull_doacross_static_start, + GOMP_loop_ull_doacross_dynamic_start, + GOMP_loop_ull_doacross_guided_start): New functions or aliases. + * oacc-mem.c (acc_map_data, present_create_copy, + gomp_acc_insert_pointer): Pass GOMP_MAP_VARS_OPENACC instead of false + to gomp_map_vars. + (gomp_acc_remove_pointer): Use copy_from from target_var_desc. + * oacc-parallel.c (GOACC_data_start): Pass GOMP_MAP_VARS_OPENACC + instead of false to gomp_map_vars. + (GOACC_parallel_keyed): Likewise. Use copy_from from target_var_desc. + * omp.h.in (omp_lock_hint_t): New type. + (omp_init_lock_with_hint, omp_init_nest_lock_with_hint, + omp_get_num_places, omp_get_place_num_procs, omp_get_place_proc_ids, + omp_get_place_num, omp_get_partition_num_places, + omp_get_partition_place_nums, omp_get_initial_device, + omp_get_max_task_priority, omp_target_alloc, omp_target_free, + omp_target_is_present, omp_target_memcpy, omp_target_memcpy_rect, + omp_target_associate_ptr, omp_target_disassociate_ptr): New + prototypes. + * omp_lib.f90.in (omp_lock_hint_kind): New parameter. + (omp_lock_hint_none, omp_lock_hint_uncontended, + omp_lock_hint_contended, omp_lock_hint_nonspeculative, + omp_lock_hint_speculative): New parameters. + (omp_init_lock_with_hint, omp_init_nest_lock_with_hint, + omp_get_num_places, omp_get_place_num_procs, omp_get_place_proc_ids, + omp_get_place_num, omp_get_partition_num_places, + omp_get_partition_place_nums, omp_get_initial_device, + omp_get_max_task_priority): New interfaces. + (omp_set_schedule, omp_get_schedule): Rename modifier argument + to chunk_size. + * omp_lib.h.in (omp_lock_hint_kind): New parameter. + (omp_lock_hint_none, omp_lock_hint_uncontended, + omp_lock_hint_contended, omp_lock_hint_nonspeculative, + omp_lock_hint_speculative): New parameters. + (omp_init_lock_with_hint, omp_init_nest_lock_with_hint, + omp_get_num_places, omp_get_place_num_procs, omp_get_place_proc_ids, + omp_get_place_num, omp_get_partition_num_places, + omp_get_partition_place_nums, omp_get_initial_device, + omp_get_max_task_priority): New functions and subroutines. + * ordered.c: Include stdarg.h and string.h. + (MAX_COLLAPSED_BITS): Define. + (gomp_doacross_init, GOMP_doacross_post, GOMP_doacross_wait, + gomp_doacross_ull_init, GOMP_doacross_ull_post, + GOMP_doacross_ull_wait): New functions. + * target.c: Include errno.h. + (resolve_device): If device is not initialized, call + gomp_init_device on it. + (gomp_map_lookup): New function. + (gomp_map_vars_existing): Add tgt_var argument, fill it in. + Don't bump refcount if REFCOUNT_INFINITY. Handle + GOMP_MAP_ALWAYS_TO_P. + (get_kind): Rename is_openacc argument to short_mapkind. + (gomp_map_pointer): Use gomp_map_lookup. + (gomp_map_fields_existing): New function. + (gomp_map_vars): Rename is_openacc argument to short_mapkind + and is_target to pragma_kind. Handle GOMP_MAP_VARS_ENTER_DATA, + handle GOMP_MAP_FIRSTPRIVATE_INT, GOMP_MAP_STRUCT, + GOMP_MAP_USE_DEVICE_PTR, GOMP_MAP_ZERO_LEN_ARRAY_SECTION. + Adjust for tgt->list changed type and copy_from living in there. + (gomp_copy_from_async): Adjust for tgt->list changed type and + copy_from living in there. + (gomp_unmap_vars): Likewise. + (gomp_update): Likewise. Rename is_openacc argument to + short_mapkind. Don't fail if object is not mapped. + (gomp_load_image_to_device): Initialize refcount to + REFCOUNT_INFINITY. + (gomp_target_fallback): New function. + (gomp_get_target_fn_addr): Likewise. + (GOMP_target): Adjust gomp_map_vars caller, use + gomp_get_target_fn_addr and gomp_target_fallback. + (GOMP_target_41): New function. + (gomp_target_data_fallback): New function. + (GOMP_target_data): Use it, adjust gomp_map_vars caller. + (GOMP_target_data_41): New function. + (GOMP_target_update): Adjust gomp_update caller. + (GOMP_target_update_41): New function. + (gomp_exit_data, GOMP_target_enter_exit_data, + gomp_target_task_fn, omp_target_alloc, omp_target_free, + omp_target_is_present, omp_target_memcpy, + omp_target_memcpy_rect_worker, omp_target_memcpy_rect, + omp_target_associate_ptr, omp_target_disassociate_ptr, + gomp_load_plugin_for_device): New functions. + * task.c: Include gomp-constants.h. Include taskloop.c + twice to get GOMP_taskloop and GOMP_taskloop_ull definitions. + (gomp_task_handle_depend): New function. + (GOMP_task): Use it. Add priority argument. Use + gomp-constant.h constants instead of hardcoded numbers. + Rename GOMP_TASK_IFFALSE to GOMP_TASK_UNDEFERRED. + (gomp_create_target_task): New function. + (verify_children_queue, verify_taskgroup_queue, + verify_task_queue): New functions. + (gomp_task_run_pre): Call verify_*_queue functions. + If an upcoming tied task is about to leave the sibling or + taskgroup queues in an invalid state, adjust appropriately. + Remove taskgroup argument. Add comments. + (gomp_task_run_post_handle_dependers): Add comments. + (gomp_task_run_post_remove_parent): Likewise. + (gomp_barrier_handle_tasks): Adjust gomp_task_run_pre caller. + (GOMP_taskwait): Likewise. Add comments. + (gomp_task_maybe_wait_for_dependencies): Fix scheduling + problem such that the first non parent_depends_on task does not + end up at the end of the children queue. + (GOMP_taskgroup_start): Rename GOMP_TASK_IFFALSE to + GOMP_TASK_UNDEFERRED. + (GOMP_taskgroup_end): Adjust gomp_task_run_pre caller. + * taskloop.c: New file. + * testsuite/lib/libgomp.exp + (check_effective_target_offload_device_nonshared_as): New proc. + * testsuite/libgomp.c/affinity-2.c: New test. + * testsuite/libgomp.c/doacross-1.c: New test. + * testsuite/libgomp.c/doacross-2.c: New test. + * testsuite/libgomp.c/examples-4/declare_target-1.c (fib_wrapper): + Add map clause to target. + * testsuite/libgomp.c/examples-4/declare_target-4.c (accum): Likewise. + * testsuite/libgomp.c/examples-4/declare_target-5.c (accum): Likewise. + * testsuite/libgomp.c/examples-4/device-1.c (main): Likewise. + * testsuite/libgomp.c/examples-4/device-3.c (main): Likewise. + * testsuite/libgomp.c/examples-4/target_data-3.c (gramSchmidt): + Likewise. + * testsuite/libgomp.c/examples-4/teams-2.c (dotprod): Likewise. + * testsuite/libgomp.c/examples-4/teams-3.c (dotprod): Likewise. + * testsuite/libgomp.c/examples-4/teams-4.c (dotprod): Likewise. + * testsuite/libgomp.c/for-2.h (OMPTGT, OMPTO, OMPFROM): Define if + not defined. Use those where needed. + * testsuite/libgomp.c/for-4.c: New test. + * testsuite/libgomp.c/for-5.c: New test. + * testsuite/libgomp.c/for-6.c: New test. + * testsuite/libgomp.c/linear-1.c: New test. + * testsuite/libgomp.c/ordered-4.c: New test. + * testsuite/libgomp.c/pr66199-2.c (f2): Adjust for linear clause + only allowed on the loop iterator. + * testsuite/libgomp.c/pr66199-3.c: New test. + * testsuite/libgomp.c/pr66199-4.c: New test. + * testsuite/libgomp.c/reduction-7.c: New test. + * testsuite/libgomp.c/reduction-8.c: New test. + * testsuite/libgomp.c/reduction-9.c: New test. + * testsuite/libgomp.c/reduction-10.c: New test. + * testsuite/libgomp.c/target-1.c (fn2, fn3, fn4): Add + map(tofrom:s). + * testsuite/libgomp.c/target-2.c (fn2, fn3, fn4): Likewise. + * testsuite/libgomp.c/target-7.c (foo): Add map(h) where needed. + * testsuite/libgomp.c/target-11.c: New test. + * testsuite/libgomp.c/target-12.c: New test. + * testsuite/libgomp.c/target-13.c: New test. + * testsuite/libgomp.c/target-14.c: New test. + * testsuite/libgomp.c/target-15.c: New test. + * testsuite/libgomp.c/target-16.c: New test. + * testsuite/libgomp.c/target-17.c: New test. + * testsuite/libgomp.c/target-18.c: New test. + * testsuite/libgomp.c/target-19.c: New test. + * testsuite/libgomp.c/target-20.c: New test. + * testsuite/libgomp.c/target-21.c: New test. + * testsuite/libgomp.c/target-22.c: New test. + * testsuite/libgomp.c/target-23.c: New test. + * testsuite/libgomp.c/target-24.c: New test. + * testsuite/libgomp.c/target-25.c: New test. + * testsuite/libgomp.c/target-26.c: New test. + * testsuite/libgomp.c/target-27.c: New test. + * testsuite/libgomp.c/taskloop-1.c: New test. + * testsuite/libgomp.c/taskloop-2.c: New test. + * testsuite/libgomp.c/taskloop-3.c: New test. + * testsuite/libgomp.c/taskloop-4.c: New test. + * testsuite/libgomp.c++/ctor-13.C: New test. + * testsuite/libgomp.c++/doacross-1.C: New test. + * testsuite/libgomp.c++/examples-4/declare_target-2.C: + Replace offload_device with offload_device_nonshared_as. + * testsuite/libgomp.c++/for-12.C: New test. + * testsuite/libgomp.c++/for-13.C: New test. + * testsuite/libgomp.c++/for-14.C: New test. + * testsuite/libgomp.c++/linear-1.C: New test. + * testsuite/libgomp.c++/member-1.C: New test. + * testsuite/libgomp.c++/member-2.C: New test. + * testsuite/libgomp.c++/member-3.C: New test. + * testsuite/libgomp.c++/member-4.C: New test. + * testsuite/libgomp.c++/member-5.C: New test. + * testsuite/libgomp.c++/ordered-1.C: New test. + * testsuite/libgomp.c++/reduction-5.C: New test. + * testsuite/libgomp.c++/reduction-6.C: New test. + * testsuite/libgomp.c++/reduction-7.C: New test. + * testsuite/libgomp.c++/reduction-8.C: New test. + * testsuite/libgomp.c++/reduction-9.C: New test. + * testsuite/libgomp.c++/reduction-10.C: New test. + * testsuite/libgomp.c++/reference-1.C: New test. + * testsuite/libgomp.c++/simd14.C: New test. + * testsuite/libgomp.c++/target-2.C (fn2): Add map(tofrom: s) clause. + * testsuite/libgomp.c++/target-5.C: New test. + * testsuite/libgomp.c++/target-6.C: New test. + * testsuite/libgomp.c++/target-7.C: New test. + * testsuite/libgomp.c++/target-8.C: New test. + * testsuite/libgomp.c++/target-9.C: New test. + * testsuite/libgomp.c++/target-10.C: New test. + * testsuite/libgomp.c++/target-11.C: New test. + * testsuite/libgomp.c++/target-12.C: New test. + * testsuite/libgomp.c++/taskloop-1.C: New test. + * testsuite/libgomp.c++/taskloop-2.C: New test. + * testsuite/libgomp.c++/taskloop-3.C: New test. + * testsuite/libgomp.c++/taskloop-4.C: New test. + * testsuite/libgomp.c++/taskloop-5.C: New test. + * testsuite/libgomp.c++/taskloop-6.C: New test. + * testsuite/libgomp.c++/taskloop-7.C: New test. + * testsuite/libgomp.c++/taskloop-8.C: New test. + * testsuite/libgomp.c++/taskloop-9.C: New test. + * testsuite/libgomp.fortran/affinity1.f90: New test. + * testsuite/libgomp.fortran/affinity2.f90: New test. + +2015-10-13 Tom de Vries + + PR tree-optimization/67476 + * testsuite/libgomp.c/autopar-3.c: New test. + * testsuite/libgomp.c/autopar-4.c: New test. + * testsuite/libgomp.c/autopar-5.c: New test. + * testsuite/libgomp.c/autopar-6.c: New test. + * testsuite/libgomp.c/autopar-7.c: New test. + * testsuite/libgomp.c/autopar-8.c: New test. + +2015-10-12 James Norris + + * testsuite/libgomp.oacc-c-c++-common/vector-loop.c: Fix loop + initializer. + +2015-10-09 David Malcolm + + * testsuite/lib/libgomp.exp: Load multiline.exp before prune.exp, + using load_gcc_lib. + +2015-10-02 Thomas Schwinge + + * oacc-ptx.h: Remove file, moving its content into... + * config/nvptx/fortran.c: ... here... + * config/nvptx/oacc-init.c: ..., here... + * config/nvptx/oacc-parallel.c: ..., and here. + * config/nvptx/openacc.f90: New file. + * plugin/plugin-nvptx.c: Don't include "oacc-ptx.h". + (link_ptx): Don't link in predefined bits of PTX code. + +2015-09-30 Nathan Sidwell + Bernd Schmidt + + * plugin/plugin-nvptx.c (targ_fn_launch): Use GOMP_DIM_MAX. + (struct targ_ptx_obj): New. + (nvptx_tdata): Move earlier, change data format. + (link_ptx): Take targ_ptx_obj ptr and count. Allow multiple + objects. + (GOMP_OFFLOAD_load_image): Adjust. + +2015-09-30 Thomas Schwinge + + * testsuite/libgomp.oacc-c-c++-common/abort-1.c: Add checkpoint. + * testsuite/libgomp.oacc-c-c++-common/abort-3.c: Likewise. + * testsuite/libgomp.oacc-c-c++-common/clauses-2.c: Likewise. + * testsuite/libgomp.oacc-c-c++-common/data-already-1.c: Likewise. + * testsuite/libgomp.oacc-c-c++-common/data-already-2.c: Likewise. + * testsuite/libgomp.oacc-c-c++-common/data-already-3.c: Likewise. + * testsuite/libgomp.oacc-c-c++-common/data-already-4.c: Likewise. + * testsuite/libgomp.oacc-c-c++-common/data-already-5.c: Likewise. + * testsuite/libgomp.oacc-c-c++-common/data-already-6.c: Likewise. + * testsuite/libgomp.oacc-c-c++-common/data-already-7.c: Likewise. + * testsuite/libgomp.oacc-c-c++-common/data-already-8.c: Likewise. + * testsuite/libgomp.oacc-c-c++-common/lib-1.c: Likewise. + * testsuite/libgomp.oacc-c-c++-common/lib-11.c: Likewise. + * testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise. + * testsuite/libgomp.oacc-c-c++-common/lib-17.c: Likewise. + * testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise. + * testsuite/libgomp.oacc-c-c++-common/lib-2.c: Likewise. + * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise. + * testsuite/libgomp.oacc-c-c++-common/lib-21.c: Likewise. + * testsuite/libgomp.oacc-c-c++-common/lib-22.c: Likewise. + * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise. + * testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise. + * testsuite/libgomp.oacc-c-c++-common/lib-26.c: Likewise. + * testsuite/libgomp.oacc-c-c++-common/lib-27.c: Likewise. + * testsuite/libgomp.oacc-c-c++-common/lib-28.c: Likewise. + * testsuite/libgomp.oacc-c-c++-common/lib-29.c: Likewise. + * testsuite/libgomp.oacc-c-c++-common/lib-3.c: Likewise. + * testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise. + * testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise. + * testsuite/libgomp.oacc-c-c++-common/lib-35.c: Likewise. + * testsuite/libgomp.oacc-c-c++-common/lib-36.c: Likewise. + * testsuite/libgomp.oacc-c-c++-common/lib-39.c: Likewise. + * testsuite/libgomp.oacc-c-c++-common/lib-4.c: Likewise. + * testsuite/libgomp.oacc-c-c++-common/lib-40.c: Likewise. + * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise. + * testsuite/libgomp.oacc-c-c++-common/lib-43.c: Likewise. + * testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise. + * testsuite/libgomp.oacc-c-c++-common/lib-47.c: Likewise. + * testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise. + * testsuite/libgomp.oacc-c-c++-common/lib-52.c: Likewise. + * testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise. + * testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise. + * testsuite/libgomp.oacc-c-c++-common/lib-57.c: Likewise. + * testsuite/libgomp.oacc-c-c++-common/lib-58.c: Likewise. + * testsuite/libgomp.oacc-c-c++-common/lib-62.c: Likewise. + * testsuite/libgomp.oacc-c-c++-common/lib-63.c: Likewise. + * testsuite/libgomp.oacc-c-c++-common/lib-64.c: Likewise. + * testsuite/libgomp.oacc-c-c++-common/lib-65.c: Likewise. + * testsuite/libgomp.oacc-c-c++-common/lib-67.c: Likewise. + * testsuite/libgomp.oacc-c-c++-common/lib-68.c: Likewise. + * testsuite/libgomp.oacc-c-c++-common/lib-71.c: Likewise. + * testsuite/libgomp.oacc-c-c++-common/lib-77.c: Likewise. + * testsuite/libgomp.oacc-c-c++-common/lib-80.c: Likewise. + * testsuite/libgomp.oacc-c-c++-common/present-1.c: Likewise. + * testsuite/libgomp.oacc-fortran/abort-1.f90: Likewise. + * testsuite/libgomp.oacc-fortran/data-already-1.f: Likewise. + * testsuite/libgomp.oacc-fortran/data-already-2.f: Likewise. + * testsuite/libgomp.oacc-fortran/data-already-3.f: Likewise. + * testsuite/libgomp.oacc-fortran/data-already-4.f: Likewise. + * testsuite/libgomp.oacc-fortran/data-already-5.f: Likewise. + * testsuite/libgomp.oacc-fortran/data-already-6.f: Likewise. + * testsuite/libgomp.oacc-fortran/data-already-7.f: Likewise. + * testsuite/libgomp.oacc-fortran/data-already-8.f: Likewise. + +2015-09-29 Nathan Sidwell + + * oacc-init.c (acc_on_device): Force optimization level. + +2015-09-29 Nathan Sidwell + + * plugin/plugin-nvptx.c (ARRAYSIZE): Delete. + (cuda_errlist): Delete. + (cuda_error): Reimplement. + +2015-09-28 Nathan Sidwell + + * libgomp.h (acc_dispatch_t): Replace separate geometry args with + array. + * libgomp.map (GOACC_parallel_keyed): New. + * oacc-parallel.c (goacc_wait): Take pointer to va_list. Adjust + all callers. + (GOACC_parallel_keyed): New interface. Lose geometry arguments + and take keyed varargs list. Adjust call to exec_func. + (GOACC_parallel): Force host fallback. + * libgomp_g.h (GOACC_parallel): Remove. + (GOACC_parallel_keyed): Declare. + * plugin/plugin-nvptx.c (struct targ_fn_launch): New struct. + (stuct targ_gn_descriptor): Replace name field with launch field. + (nvptx_exec): Lose separate geometry args, take array. Process + dynamic dimensions and adjust. + (struct nvptx_tdata): Replace fn_names field with fn_descs. + (GOMP_OFFLOAD_load_image): Adjust for change in function table + data. + (GOMP_OFFLOAD_openacc_parallel): Adjust for change in dimension + passing. + * oacc-host.c (host_openacc_exec): Adjust for change in dimension + passing. + +2015-09-22 Chung-Lin Tang + + PR libgomp/67141 + * oacc-int.h (goacc_host_init): Add declaration. + * oacc-host.c (goacc_host_init): Remove static and constructor attribute. + * oacc-init.c (goacc_runtime_initialize): Call goacc_host_init() at end. + +2015-09-08 Aditya Kumar + Sebastian Pop + + * testsuite/libgomp.graphite/bounds.c (int foo): Modifed test case to + match o/p. + * testsuite/libgomp.graphite/force-parallel-1.c (void parloop): Same. + * testsuite/libgomp.graphite/force-parallel-4.c: Same. + * testsuite/libgomp.graphite/force-parallel-5.c: Same. + * testsuite/libgomp.graphite/force-parallel-7.c: Same. + * testsuite/libgomp.graphite/force-parallel-8.c: Same. + +2015-09-03 Jakub Jelinek + + * configure.tgt: Add missing ;; in between nvptx and rtems + snippets. + +2015-09-03 Sebastian Huber + + * config/posix/pool.h (gomp_adjust_thread_attr): New. + * config/rtems/pool.h (gomp_adjust_thread_attr): Likewise. + (gomp_thread_pool_reservoir): Add priority member. + * confi/rtems/proc.c (allocate_thread_pool_reservoir): Add + priority. + (parse_thread_pools): Likewise. + * team.c (gomp_team_start): Call configuration provided + gomp_adjust_thread_attr(). Destroy thread attributes if + necessary. + * libgomp.texi: Document GOMP_RTEMS_THREAD_POOLS. + +2015-09-03 Sebastian Huber + + * config/posix/pool.h: New. + * config/rtems/pool.h: Likewise. + * config/rtems/proc.c: Likewise. + * libgomp.h (gomp_thread_destructor): Declare. + * team.c: Include configuration provided "pool.h". + (gomp_get_thread_pool): Define in configuration. + (gomp_team_end): Call configuration defined + gomp_release_thread_pool(). + +2015-09-03 Sebastian Huber + + * config/rtems/bar.c: New. + * config/rtems/bar.h: Likewise. + * config/rtems/mutex.c: Likewise. + * config/rtems/mutex.h: Likewise. + * config/rtems/sem.c: Likewise. + * config/rtems/sem.h: Likewise. + * configure.ac (*-*-rtems*): Check that Newlib provides a proper + header file. + * configure.tgt (*-*-rtems*): Enable RTEMS configuration if + supported by Newlib. + * configure: Regenerate. + +2015-09-03 Sebastian Huber + + * team.c (gomp_new_thread_pool): Delete and move content to ... + (gomp_get_thread_pool): ... new function. Allocate and + initialize thread pool on demand. + (get_last_team): Use gomp_get_thread_pool(). + (gomp_team_start): Delete thread pool initialization. + +2015-09-03 Tom de Vries + + PR tree-optimization/65637 + * testsuite/libgomp.c/autopar-2.c: New test. + +2015-08-29 Tom de Vries + + PR tree-optimization/46193 + * testsuite/libgomp.c/pr46193.c: New test. + +2015-08-24 Nathan Sidwell + + libgomp/ + * libgomp.map: Add 4.0.2 version. + * target.c (offload_image_descr): Add version field. + (gomp_load_image_to_device): Add version argument. Adjust plugin + call. Improve load mismatch diagnostic. + (gomp_unload_image_from_device): Add version argument. Adjust plugin + call. + (GOMP_offload_regster): Make stub function, move bulk to ... + (GOMP_offload_register_ver): ... here. Process version argument. + (GOMP_offload_unregister): Make stub function, move bulk to ... + (GOMP_offload_unregister_ver): ... here. Process version argument. + (gomp_init_device): Process version field. + (gomp_unload_device): Process version field. + (gomp_load_plugin_for_device): Reimplement DLSYM & DLSYM_OPT + macros. Check plugin version. + * libgomp.h (gomp_device_descr): Add version function field. Adjust + loader and unloader types. + * oacc-host.c: Include gomp-constants.h. + (host_version): New. + (host_load_image, host_unload_image): Adjust. + (host_dispatch): Add host_version. + * plugin/plugin-nvptx.c: Include gomp-constants.h. + (GOMP_OFFLOAD_version): New. + (GOMP_OFFLOAD_load_image): Add version arg and check it. + (GOMP_OFFLOAD_unload_image): Likewise. + * plugin/plugin-host.c: Include gomp-constants.h. + (GOMP_OFFLOAD_version): New. + (GOMP_OFFLOAD_load_image): Add version arg. + (GOMP_OFFLOAD_unload_image): Likewise. + +2015-08-24 Tom de Vries + + PR tree-optimization/65468 + * testsuite/libgomp.oacc-c-c++-common/vector-loop.c: New test. + +2015-08-24 Tom de Vries + + PR tree-optimization/65468 + * testsuite/libgomp.c/static-chunk-size-one.c: New test. + +2015-08-24 Joost VandeVondele + + PR libgomp/66761 + PR libgomp/67303 + * iter.c (gomp_iter_dynamic_next): Employ an atomic load. + (gomp_iter_guided_next): Idem. + * iter_ull.c (gomp_iter_ull_dynamic_next): Idem. + (gomp_iter_ull_guided_next): Idem. + * config/linux/wait.h (do_spin): Idem. + +2015-08-10 Thomas Schwinge + + * libgomp-plugin.h (enum offload_target_type): Remove + OFFLOAD_TARGET_TYPE_HOST_NONSHM. + * openacc.f90 (openacc_kinds): Remove acc_device_host_nonshm. + * openacc.h (enum acc_device_t): Likewise. + * openacc_lib.h: Likewise. + * oacc-init.c (name_of_acc_device_t): Don't handle it. + (acc_on_device): Just use __builtin_acc_on_device. + * testsuite/libgomp.oacc-c-c++-common/if-1.c: Don't forbid usage + of acc_on_device builtin. + * plugin/plugin-host.h: Remove file. + * plugin/plugin-host.c: Likewise, but salvage some content into... + * oacc-host.c: ... this file. + * plugin/Makefrag.am: Don't build libgomp-plugin-host_nonshm.la. + * plugin/configfrag.ac (offload_targets): Don't add host_nonshm. + * Makefile.in: Regenerate. + * configure: Likewise. + * testsuite/lib/libgomp.exp + (check_effective_target_openacc_host_nonshm_selected): Remove. + * testsuite/libgomp.oacc-c++/c++.exp: Don't handle + ACC_DEVICE_TYPE=host_nonshm. + * testsuite/libgomp.oacc-c/c.exp: Likewise. + * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise. + * testsuite/libgomp.oacc-c-c++-common/acc_on_device-1.c: Likewise. + * testsuite/libgomp.oacc-fortran/acc_on_device-1-1.f90: Likewise. + * testsuite/libgomp.oacc-fortran/acc_on_device-1-2.f: Likewise. + * testsuite/libgomp.oacc-fortran/acc_on_device-1-3.f: Likewise. + +2015-08-10 Thomas Schwinge + Jakub Jelinek + + * config/nvptx/affinity.c: New file. + * config/nvptx/alloc.c: Likewise. + * config/nvptx/bar.c: Likewise. + * config/nvptx/barrier.c: Likewise. + * config/nvptx/critical.c: Likewise. + * config/nvptx/env.c: Likewise. + * config/nvptx/error.c: Likewise. + * config/nvptx/fortran.c: Likewise. + * config/nvptx/iter.c: Likewise. + * config/nvptx/iter_ull.c: Likewise. + * config/nvptx/libgomp-plugin.c: Likewise. + * config/nvptx/lock.c: Likewise. + * config/nvptx/loop.c: Likewise. + * config/nvptx/loop_ull.c: Likewise. + * config/nvptx/mutex.c: Likewise. + * config/nvptx/oacc-async.c: Likewise. + * config/nvptx/oacc-cuda.c: Likewise. + * config/nvptx/oacc-host.c: Likewise. + * config/nvptx/oacc-init.c: Likewise. + * config/nvptx/oacc-mem.c: Likewise. + * config/nvptx/oacc-parallel.c: Likewise. + * config/nvptx/oacc-plugin.c: Likewise. + * config/nvptx/omp-lock.h: Likewise. + * config/nvptx/ordered.c: Likewise. + * config/nvptx/parallel.c: Likewise. + * config/nvptx/proc.c: Likewise. + * config/nvptx/ptrlock.c: Likewise. + * config/nvptx/sections.c: Likewise. + * config/nvptx/sem.c: Likewise. + * config/nvptx/single.c: Likewise. + * config/nvptx/splay-tree.c: Likewise. + * config/nvptx/target.c: Likewise. + * config/nvptx/task.c: Likewise. + * config/nvptx/team.c: Likewise. + * config/nvptx/time.c: Likewise. + * config/nvptx/work.c: Likewise. + * configure.ac: Don't probe pthreads support for host nvptx*-*-*. + * configure: Regenerate. + * configure.tgt (config_path): Set to "nvptx" for target + nvptx*-*-*. + +2015-08-10 Thomas Schwinge + + * testsuite/libgomp.oacc-c-c++-common/vector-type-1.c: New file. + +2015-08-03 Nathan Sidwell + + * plugin/plugin-nvptx.c: Don't include dlfcn.h. + (cuda_errlist): Constify. + (errmsg): Move into ... + (cuda_error): ... here. Make smaller. + (_XSTR, _STR): Delete. + (cuda_synames): Delete. + (verify_device_library): Delete. + (nvptx_init): Don't call it. + +2015-07-28 Tom de Vries + + * testsuite/libgomp.c/uns-outer-4.c: New test. + +2015-07-24 Cesar Philippidis + + * testsuite/libgomp.c/pr66714.c: New test. + +2015-07-22 Maxim Blumenthal + + PR libgomp/66950 + * testsuite/libgomp.c/examples-4/simd-7.c (N): Change to 30 from 45. + (fib_ref): New function. + (fib): Correct corner cases in the recursion. + (main): Replace the non-simd loop with fib_ref call. + * testsuite/libgomp.fortran/examples-4/simd-7.f90: (fib_ref): New + subroutine. + (fibonacci): Lower the parameter N to 30. Correct accordingly check + for the last array element value. Replace the non-simd loop with + fib_ref call. Remove redundant b_ref array. Remove the comparison + of the last array element with according Fibonacci sequence element. + (fib): Correct corner cases in the recursion. + +2015-07-21 Nathan Sidwell + + * target.c (gomp_offload_image_to_device): Rename to ... + (gomp_load_image_to_device): ... here. + (GOMP_offload_register): Adjust call. + (gomp_init_device): Likewise. + (gomp_unload_image_from_device): New. Broken out of ... + (GOMP_offload_unregister): ... here. Call it. + (gomp_unload_device): New. + * libgomp.h (gomp_unload_device): Declare. + * oacc-init.c (acc_shutdown_1): Unload from device before deleting + mem maps. + +2015-07-20 Nathan Sidwell + + * oacc-parallel.c (GOACC_parallel): Move variadic handling into + wait=-specific if. + (GOACC_enter_exit_data, GOACC_update): Use consistent num_waits + !=0 condition. + (goacc_waits): Move !num_waits handling to ... + (GOACC_wait): ... here, the only caller that might have zero waits. + + * plugin/plugin-nvptx.c (struct targ_fn_descriptor): Move later. + (struct ptx_image_data): Move earlier, add fns field. + (struct ptx_device): Add images and image_lock fields. + (ptx_images, ptx_image_lock): Delete. + (nvptx_open_device): Initialize images and image_lock fields. + (nvptx_close_device): Destroy image_lock. + (GOMP_OFFLOAD_load_image): Register image to device-specific fields. + (GOMP_OFFLOAD_unload_image): Unregister image from device-specific + fields. + +2015-07-17 Nathan Sidwell + + * target.c (GOMP_offload_register): Use int for device type arg. + (GOMP_offload_unregister): Likewise. + + * target.c (struct_offload_image_descr): Constify host_table. + (gomp_offload_image_to_device): Likewise. + (GOMP_offload_register, GOMP_offload_unregister): Likewise. + + * libgomp.h (gomp_device_descr): Constify target data arguments. + * target.c (struct offload_image_descr): Constify target_data. + (gomp_offload_image_to_device): Likewise. + (GOMP_offload_register): Likewise. + (GOMP_offload_unrefister): Likewise. + * plugin/plugin-host.c (GOMP_OFFLOAD_load_image, + GOMP_OFFLOAD_unload_image): Constify target data. + * plugin/plugin-nvptx.c (struct ptx_image_data): Constify target data. + (GOMP_OFFLOAD_load_image, GOMP_OFFLOAD_unload_image): Likewise. + +2015-07-16 Nathan Sidwell + + * plugin/plugin-nvptx.c (link_ptx): Constify string argument. + Workaround driver library const error. + (struct nvptx_tdata, nvptx_tdata_t): New. + (GOMP_OFFLOAD_load_image): Use struct for target_data's real + type. + +2015-07-15 Maxim Blumenthal + + * testsuite/libgomp.fortran/examples-4/simd-8.f90: (main): Change type + of EPS parameter from integer to real. + * testsuite/libgomp.fortran/examples-4/task_dep-5.f90: (check): Change + type of EPS parameter from integer to real. + +2015-07-15 Sebastian Huber + + * team.c (get_last_team): New. + (gomp_new_team): Recycle last non-nested team if possible. + (gomp_team_end): Move team work share list free lock destruction + to ... + (free_team): ... here. + +2015-07-14 Maxim Blumenthal + + * testsuite/libgomp.c/examples-4/simd-3.c: (main): Change type of res + and ref from int to double. Replaced their comparison with + an inequality of their difference and EPS. + * testsuite/libgomp.c/examples-4/simd-8.c: (main): Replace the + comparison of pri and a reference number with an inequality of their + difference and EPS. + * testsuite/libgomp.fortran/examples-4/simd-3.f90: (main): Replaced + the comparison of sum and sum_ref with an inequality of their + difference and EPS. + * testsuite/libgomp.fortran/examples-4/simd-8.f90: (main): Replace + the comparison of pri and a reference number with an inequality of + their difference and EPS. + +2015-07-13 Maxim Blumenthal + + * testsuite/libgomp.c++/examples-4/e.53.2.C: Renamed to... + * testsuite/libgomp.c++/examples-4/declare_target-2.C: ...this. + * testsuite/libgomp.c++/examples-4/e.51.5.C: Renamed to... + * testsuite/libgomp.c++/examples-4/target_data-5.C: ...this. + * testsuite/libgomp.c/examples-4/e.56.3.c: Renamed to... + * testsuite/libgomp.c/examples-4/array_sections-3.c: ...this. + * testsuite/libgomp.c/examples-4/e.56.4.c: Renamed to... + * testsuite/libgomp.c/examples-4/array_sections-4.c: ...this. + * testsuite/libgomp.c/examples-4/e.55.1.c: Renamed to... + * testsuite/libgomp.c/examples-4/async_target-1.c: ...this. + * testsuite/libgomp.c/examples-4/e.55.2.c: Renamed to... + * testsuite/libgomp.c/examples-4/async_target-2.c: ...this. + (vec_mult_ref): Remove v1 and v2 arguments, turn them into local + variables. + (vec_mult): Likewise. Add #pragma omp taskwait. + (main): Adjust caller. + * testsuite/libgomp.c/examples-4/e.53.1.c: Renamed to... + * testsuite/libgomp.c/examples-4/declare_target-1.c: ...this. + * testsuite/libgomp.c/examples-4/e.53.3.c: Renamed to... + * testsuite/libgomp.c/examples-4/declare_target-3.c: ...this. + * testsuite/libgomp.c/examples-4/e.53.4.c: Renamed to... + * testsuite/libgomp.c/examples-4/declare_target-4.c: ...this. + * testsuite/libgomp.c/examples-4/e.53.5.c: Renamed to... + * testsuite/libgomp.c/examples-4/declare_target-5.c: ...this. + * testsuite/libgomp.c/examples-4/e.57.1.c: Renamed to... + * testsuite/libgomp.c/examples-4/device-1.c: ...this. + * testsuite/libgomp.c/examples-4/e.57.2.c: Renamed to... + * testsuite/libgomp.c/examples-4/device-2.c: ...this. + * testsuite/libgomp.c/examples-4/e.57.3.c: Renamed to... + * testsuite/libgomp.c/examples-4/device-3.c: ...this. + * testsuite/libgomp.c/examples-4/simd-1.c: New file. + * testsuite/libgomp.c/examples-4/simd-2.c: New file. + * testsuite/libgomp.c/examples-4/simd-3.c: New file. + * testsuite/libgomp.c/examples-4/simd-4.c: New file. + * testsuite/libgomp.c/examples-4/simd-5.c: New file. + * testsuite/libgomp.c/examples-4/simd-6.c: New file. + * testsuite/libgomp.c/examples-4/simd-7.c: New file. + * testsuite/libgomp.c/examples-4/simd-8.c: New file. + * testsuite/libgomp.c/examples-4/e.50.1.c: Renamed to... + * testsuite/libgomp.c/examples-4/target-1.c: ...this. + * testsuite/libgomp.c/examples-4/e.50.2.c: Renamed to... + * testsuite/libgomp.c/examples-4/target-2.c: ...this. + * testsuite/libgomp.c/examples-4/e.50.3.c: Renamed to... + * testsuite/libgomp.c/examples-4/target-3.c: ...this. + * testsuite/libgomp.c/examples-4/e.50.4.c: Renamed to... + * testsuite/libgomp.c/examples-4/target-4.c: ...this. + * testsuite/libgomp.c/examples-4/e.50.5.c: Renamed to... + * testsuite/libgomp.c/examples-4/target-5.c: ...this. + * testsuite/libgomp.c/examples-4/e.51.1.c: Renamed to... + * testsuite/libgomp.c/examples-4/target_data-1.c: ...this. + * testsuite/libgomp.c/examples-4/e.51.2.c: Renamed to... + * testsuite/libgomp.c/examples-4/target_data-2.c: ...this. + * testsuite/libgomp.c/examples-4/e.51.3.c: Renamed to... + * testsuite/libgomp.c/examples-4/target_data-3.c: ...this. + * testsuite/libgomp.c/examples-4/e.51.4.c: Renamed to... + * testsuite/libgomp.c/examples-4/target_data-4.c: ...this. + * testsuite/libgomp.c/examples-4/e.51.6.c: Renamed to... + * testsuite/libgomp.c/examples-4/target_data-6.c: ...this. + * testsuite/libgomp.c/examples-4/e.51.7.c: Renamed to... + * testsuite/libgomp.c/examples-4/target_data-7.c: ...this. + * testsuite/libgomp.c/examples-4/e.52.1.c: Renamed to... + * testsuite/libgomp.c/examples-4/target_update-1.c: ...this. + * testsuite/libgomp.c/examples-4/e.52.2.c: Renamed to... + * testsuite/libgomp.c/examples-4/target_update-2.c: ...this. + * testsuite/libgomp.c/examples-4/task_dep-1.c: New file. + * testsuite/libgomp.c/examples-4/task_dep-2.c: New file. + * testsuite/libgomp.c/examples-4/task_dep-3.c: New file. + * testsuite/libgomp.c/examples-4/task_dep-4.c: New file. + * testsuite/libgomp.c/examples-4/task_dep-5.c: New file. + * testsuite/libgomp.c/examples-4/e.54.2.c: Renamed to... + * testsuite/libgomp.c/examples-4/teams-2.c: ...this. + * testsuite/libgomp.c/examples-4/e.54.3.c: Renamed to... + * testsuite/libgomp.c/examples-4/teams-3.c: ...this. + * testsuite/libgomp.c/examples-4/e.54.4.c: Renamed to... + * testsuite/libgomp.c/examples-4/teams-4.c: ...this. + * testsuite/libgomp.c/examples-4/e.54.5.c: Renamed to... + * testsuite/libgomp.c/examples-4/teams-5.c: ...this. + * testsuite/libgomp.c/examples-4/e.54.6.c: Renamed to... + * testsuite/libgomp.c/examples-4/teams-6.c: ...this. + * testsuite/libgomp.fortran/examples-4/e.56.3.f90: Renamed to... + * testsuite/libgomp.fortran/examples-4/array_sections-3.f90: ...this. + * testsuite/libgomp.fortran/examples-4/e.56.4.f90: Renamed to... + * testsuite/libgomp.fortran/examples-4/array_sections-4.f90: ...this. + * testsuite/libgomp.fortran/examples-4/e.55.1.f90: Renamed to... + * testsuite/libgomp.fortran/examples-4/async_target-1.f90: ...this. + * testsuite/libgomp.fortran/examples-4/e.55.2.f90: Renamed to... + * testsuite/libgomp.fortran/examples-4/async_target-2.f90: ...this. + (vec_mult): Add !$omp taskwait. + * testsuite/libgomp.fortran/examples-4/e.53.1.f90: Renamed to... + * testsuite/libgomp.fortran/examples-4/declare_target-1.f90: ...this. + * testsuite/libgomp.fortran/examples-4/e.53.2.f90: Renamed to... + * testsuite/libgomp.fortran/examples-4/declare_target-2.f90: ...this. + * testsuite/libgomp.fortran/examples-4/e.53.3.f90: Renamed to... + * testsuite/libgomp.fortran/examples-4/declare_target-3.f90: ...this. + * testsuite/libgomp.fortran/examples-4/e.53.4.f90: Renamed to... + * testsuite/libgomp.fortran/examples-4/declare_target-4.f90: ...this. + * testsuite/libgomp.fortran/examples-4/e.53.5.f90: Renamed to... + * testsuite/libgomp.fortran/examples-4/declare_target-5.f90: ...this. + * testsuite/libgomp.fortran/examples-4/e.57.1.f90: Renamed to... + * testsuite/libgomp.fortran/examples-4/device-1.f90: ...this. + * testsuite/libgomp.fortran/examples-4/e.57.2.f90: Renamed to... + * testsuite/libgomp.fortran/examples-4/device-2.f90: ...this. + * testsuite/libgomp.fortran/examples-4/e.57.3.f90: Renamed to... + * testsuite/libgomp.fortran/examples-4/device-3.f90: ...this. + * testsuite/libgomp.fortran/examples-4/simd-1.f90: New file. + * testsuite/libgomp.fortran/examples-4/simd-2.f90: New file. + * testsuite/libgomp.fortran/examples-4/simd-3.f90: New file. + * testsuite/libgomp.fortran/examples-4/simd-4.f90: New file. + * testsuite/libgomp.fortran/examples-4/simd-5.f90: New file. + * testsuite/libgomp.fortran/examples-4/simd-6.f90: New file. + * testsuite/libgomp.fortran/examples-4/simd-7.f90: New file. + * testsuite/libgomp.fortran/examples-4/simd-8.f90: New file. + * testsuite/libgomp.fortran/examples-4/e.50.1.f90: Renamed to... + * testsuite/libgomp.fortran/examples-4/target-1.f90: ...this. + * testsuite/libgomp.fortran/examples-4/e.50.2.f90: Renamed to... + * testsuite/libgomp.fortran/examples-4/target-2.f90: ...this. + * testsuite/libgomp.fortran/examples-4/e.50.3.f90: Renamed to... + * testsuite/libgomp.fortran/examples-4/target-3.f90: ...this. + * testsuite/libgomp.fortran/examples-4/e.50.4.f90: Renamed to... + * testsuite/libgomp.fortran/examples-4/target-4.f90: ...this. + * testsuite/libgomp.fortran/examples-4/e.50.5.f90: Renamed to... + * testsuite/libgomp.fortran/examples-4/target-5.f90: ...this. + * testsuite/libgomp.fortran/examples-4/e.51.1.f90: Renamed to... + * testsuite/libgomp.fortran/examples-4/target_data-1.f90: ...this. + * testsuite/libgomp.fortran/examples-4/e.51.2.f90: Renamed to... + * testsuite/libgomp.fortran/examples-4/target_data-2.f90: ...this. + * testsuite/libgomp.fortran/examples-4/e.51.3.f90: Renamed to... + * testsuite/libgomp.fortran/examples-4/target_data-3.f90: ...this. + * testsuite/libgomp.fortran/examples-4/e.51.4.f90: Renamed to... + * testsuite/libgomp.fortran/examples-4/target_data-4.f90: ...this. + * testsuite/libgomp.fortran/examples-4/e.51.5.f90: Renamed to... + * testsuite/libgomp.fortran/examples-4/target_data-5.f90: ...this. + * testsuite/libgomp.fortran/examples-4/e.51.6.f90: Renamed to... + * testsuite/libgomp.fortran/examples-4/target_data-6.f90: ...this. + * testsuite/libgomp.fortran/examples-4/e.51.7.f90: Renamed to... + * testsuite/libgomp.fortran/examples-4/target_data-7.f90: ...this. + * testsuite/libgomp.fortran/examples-4/e.52.1.f90: Renamed to... + * testsuite/libgomp.fortran/examples-4/target_update-1.f90: ...this. + * testsuite/libgomp.fortran/examples-4/e.52.2.f90: Renamed to... + * testsuite/libgomp.fortran/examples-4/target_update-2.f90: ...this. + * testsuite/libgomp.fortran/examples-4/task_dep-1.f90: New file. + * testsuite/libgomp.fortran/examples-4/task_dep-2.f90: New file. + * testsuite/libgomp.fortran/examples-4/task_dep-3.f90: New file. + * testsuite/libgomp.fortran/examples-4/task_dep-4.f90: New file. + * testsuite/libgomp.fortran/examples-4/task_dep-5.f90: New file. + * testsuite/libgomp.fortran/examples-4/e.54.2.f90: Renamed to... + * testsuite/libgomp.fortran/examples-4/teams-2.f90: ...this. + * testsuite/libgomp.fortran/examples-4/e.54.3.f90: Renamed to... + * testsuite/libgomp.fortran/examples-4/teams-3.f90: ...this. + * testsuite/libgomp.fortran/examples-4/e.54.4.f90: Renamed to... + * testsuite/libgomp.fortran/examples-4/teams-4.f90: ...this. + * testsuite/libgomp.fortran/examples-4/e.54.5.f90: Renamed to... + * testsuite/libgomp.fortran/examples-4/teams-5.f90: ...this. + * testsuite/libgomp.fortran/examples-4/e.54.6.f90: Renamed to... + * testsuite/libgomp.fortran/examples-4/teams-6.f90: ...this. + +2015-07-10 Tom de Vries + + * testsuite/libgomp.fortran/parloops-exit-first-loop-alt-2.f95: New test. + * testsuite/libgomp.fortran/parloops-exit-first-loop-alt.f95: New test. + +2015-07-08 Thomas Schwinge + + PR libgomp/65099 + * plugin/plugin-nvptx.c (nvptx_get_num_devices): Return 0 if not + in a 64-bit configuration. + * testsuite/libgomp.oacc-c++/c++.exp: Don't attempt nvidia + offloading testing if no such device is available. + * testsuite/libgomp.oacc-c/c.exp: Likewise. + * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise. + +2015-07-08 Tom de Vries + + * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c (main): Fix + second call to f. + * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: Same. + +2015-07-07 Tom de Vries + + PR tree-optimization/66642 + * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c (main): Test low + iteration count case. + * testsuite/libgomp.c/parloops-exit-first-loop-alt.c (init): New + function, factor out of ... + (main): ... here. Test low iteration count case. + 2015-07-06 Sebastian Huber * libgomp.h (gomp_thread_pool): Comment last_team field. @@ -5546,3 +7119,9 @@ 2005-05-03 Richard Henderson Initial implementation and checkin. + +Copyright (C) 2005-2016 Free Software Foundation, Inc. + +Copying and distribution of this file, with or without modification, +are permitted in any medium without royalty provided the copyright +notice and this notice are preserved.