| 2018-11-07 Jakub Jelinek <jakub@redhat.com> |
| |
| * testsuite/libgomp.c-c++-common/taskloop-reduction-1.c (S): Change |
| type of s and t members from unsigned long int to |
| unsigned long long int. |
| |
| * libgomp_g.h (GOMP_loop_start, GOMP_loop_ordered_start, |
| GOMP_loop_doacross_start, GOMP_loop_ull_start, |
| GOMP_loop_ull_ordered_start, GOMP_loop_ull_doacross_start, |
| GOMP_workshare_task_reduction_unregister, GOMP_sections2_start): New |
| prototypes. |
| * libgomp.h (struct gomp_doacross_work_share): Add extra field. |
| (struct gomp_work_share): Add task_reductions field. |
| (struct gomp_taskgroup): Add workshare flag. |
| (gomp_doacross_init, gomp_doacross_ull_init): Add size_t argument. |
| (gomp_workshare_taskgroup_start, |
| gomp_workshare_task_reduction_register): New prototypes. |
| (gomp_init_work_share, gomp_work_share_start): Change bool argument |
| to size_t. |
| * libgomp.map (GOMP_5.0): Export GOMP_loop_start, |
| GOMP_loop_ordered_start, GOMP_loop_doacross_start, |
| GOMP_loop_ull_start, GOMP_loop_ull_ordered_start, |
| GOMP_loop_ull_doacross_start, |
| GOMP_workshare_task_reduction_unregister and GOMP_sections2_start. |
| * loop.c: Include string.h. |
| (GOMP_loop_runtime_next): Add ialias. |
| (GOMP_taskgroup_reduction_register): Add ialias_redirect. |
| (gomp_loop_static_start, gomp_loop_dynamic_start, |
| gomp_loop_guided_start, gomp_loop_ordered_static_start, |
| gomp_loop_ordered_dynamic_start, gomp_loop_ordered_guided_start, |
| gomp_loop_doacross_static_start, gomp_loop_doacross_dynamic_start, |
| gomp_loop_doacross_guided_start): Adjust gomp_work_share_start |
| or gomp_doacross_init callers. |
| (gomp_adjust_sched, GOMP_loop_start, GOMP_loop_ordered_start, |
| GOMP_loop_doacross_start): New functions. |
| * loop_ull.c: Include string.h. |
| (GOMP_loop_ull_runtime_next): Add ialias. |
| (GOMP_taskgroup_reduction_register): Add ialias_redirect. |
| (gomp_loop_ull_static_start, gomp_loop_ull_dynamic_start, |
| gomp_loop_ull_guided_start, gomp_loop_ull_ordered_static_start, |
| gomp_loop_ull_ordered_dynamic_start, |
| gomp_loop_ull_ordered_guided_start, |
| gomp_loop_ull_doacross_static_start, |
| gomp_loop_ull_doacross_dynamic_start, |
| gomp_loop_ull_doacross_guided_start): Adjust gomp_work_share_start |
| and gomp_doacross_ull_init callers. |
| (gomp_adjust_sched, GOMP_loop_ull_start, GOMP_loop_ull_ordered_start, |
| GOMP_loop_ull_doacross_start): New functions. |
| * sections.c: Include string.h. |
| (GOMP_taskgroup_reduction_register): Add ialias_redirect. |
| (GOMP_sections_start): Adjust gomp_work_share_start caller. |
| (GOMP_sections2_start): New function. |
| * ordered.c (gomp_doacross_init, gomp_doacross_ull_init): Add |
| EXTRA argument. If not needed to prepare array, if extra is 0, |
| clear ws->doacross, otherwise allocate just doacross structure and |
| extra payload. If array is needed, allocate also extra payload. |
| (GOMP_doacross_post, GOMP_doacross_wait, GOMP_doacross_ull_post, |
| GOMP_doacross_ull_wait): Handle doacross->array == NULL like |
| doacross == NULL. |
| * parallel.c (GOMP_cancellation_point): If taskgroup has workshare |
| flag set, check cancelled of prev taskgroup if any. |
| (GOMP_cancel): If taskgroup has workshare flag set, set cancelled |
| on prev taskgroup if any. |
| * single.c (GOMP_single_start, GOMP_single_copy_start): Adjust |
| gomp_work_share_start callers. |
| * target.c (GOMP_target_update_ext, GOMP_target_enter_exit_data): |
| If taskgroup has workshare flag set, check cancelled on prev |
| taskgroup if any. Guard all cancellation tests with |
| gomp_cancel_var test. |
| * taskloop.c (GOMP_taskloop): Likewise. |
| * task.c (GOMP_task, gomp_create_target_task, gomp_task_run_pre, |
| GOMP_taskwait_depend): Likewise. |
| (gomp_taskgroup_init): Clear workshare flag, reorder initialization. |
| (gomp_reduction_register): Add always_inline attribute. Add |
| ORIG argument, if non-NULL, don't allocate memory, but copy it |
| from there. |
| (gomp_create_artificial_team): New function. |
| (GOMP_taskgroup_reduction_register): Extend function comment. |
| Use gomp_create_artificial_team. Adjust gomp_reduction_register |
| caller. |
| (gomp_parallel_reduction_register): Adjust gomp_reduction_register |
| caller. |
| (gomp_workshare_task_reduction_register, |
| gomp_workshare_taskgroup_start, |
| GOMP_workshare_task_reduction_unregister): New functions. |
| * team.c (gomp_new_team): Adjust gomp_init_work_share caller. |
| * work.c (gomp_init_work_share): Change ORDERED argument from |
| bool to size_t, if more than 1 allocate also extra payload at the |
| end of array. Never keep ordered_team_ids NULL, set it |
| to inline_ordered_team_ids instead. |
| (gomp_work_share_start): Change ORDERED argument from bool to size_t, |
| return true instead of ws. |
| * testsuite/libgomp.c-c++-common/cancel-parallel-1.c: New test. |
| * testsuite/libgomp.c-c++-common/cancel-taskgroup-3.c: New test. |
| * testsuite/libgomp.c-c++-common/task-reduction-6.c (struct S): |
| Use unsigned long long int instead of unsigned long int. |
| (main): Verify r == t. |
| * testsuite/libgomp.c-c++-common/task-reduction-8.c: New test. |
| * testsuite/libgomp.c-c++-common/task-reduction-9.c: New test. |
| * testsuite/libgomp.c-c++-common/task-reduction-11.c: New test. |
| * testsuite/libgomp.c-c++-common/task-reduction-12.c: New test. |
| * testsuite/libgomp.c++/task-reduction-14.C: New test. |
| * testsuite/libgomp.c++/task-reduction-15.C: New test. |
| * testsuite/libgomp.c++/task-reduction-16.C: New test. |
| * testsuite/libgomp.c++/task-reduction-17.C: New test. |
| * testsuite/libgomp.c++/task-reduction-18.C: New test. |
| * testsuite/libgomp.c++/task-reduction-19.C: New test. |
| |
| 2018-10-26 Jakub Jelinek <jakub@redhat.com> |
| |
| * libgomp.h (GOMP_HAVE_EFFICIENT_ALIGNED_ALLOC): Define unless |
| gomp_aligned_alloc uses fallback implementation. |
| * alloc.c (NEED_SPECIAL_GOMP_ALIGNED_FREE): Don't define. |
| (gomp_aligned_free): Use !defined(GOMP_HAVE_EFFICIENT_ALIGNED_ALLOC) |
| instead of defined(NEED_SPECIAL_GOMP_ALIGNED_FREE). |
| * work.c (alloc_work_share): Use gomp_aligned_alloc instead of |
| gomp_malloc if GOMP_HAVE_EFFICIENT_ALIGNED_ALLOC is defined. |
| |
| 2018-10-25 Jakub Jelinek <jakub@redhat.com> |
| |
| * omp.h.in (enum omp_sched_t): Add omp_sched_monotonic. |
| * libgomp_g.h (GOMP_loop_nonmonotonic_runtime_start, |
| GOMP_loop_maybe_nonmonotonic_runtime_start, |
| GOMP_loop_nonmonotonic_runtime_next, |
| GOMP_loop_maybe_nonmonotonic_runtime_next, |
| GOMP_parallel_loop_nonmonotonic_runtime, |
| GOMP_parallel_loop_maybe_nonmonotonic_runtime, |
| GOMP_loop_ull_nonmonotonic_runtime_start, |
| GOMP_loop_ull_maybe_nonmonotonic_runtime_start, |
| GOMP_loop_ull_nonmonotonic_runtime_next, |
| GOMP_loop_ull_maybe_nonmonotonic_runtime_next): New prototypes. |
| * libgomp.h (enum gomp_schedule_type): Add GFS_MONOTONIC. |
| * libgomp.map (GOMP_5.0): Export |
| GOMP_loop_maybe_nonmonotonic_runtime_next, |
| GOMP_loop_maybe_nonmonotonic_runtime_start, |
| GOMP_loop_nonmonotonic_runtime_next, |
| GOMP_loop_nonmonotonic_runtime_start, |
| GOMP_loop_ull_maybe_nonmonotonic_runtime_next, |
| GOMP_loop_ull_maybe_nonmonotonic_runtime_start, |
| GOMP_loop_ull_nonmonotonic_runtime_next, |
| GOMP_loop_ull_nonmonotonic_runtime_start, |
| GOMP_parallel_loop_maybe_nonmonotonic_runtime, |
| GOMP_parallel_loop_nonmonotonic_runtime. |
| * env.c (parse_schedule): Parse monotonic and nonmonotonic modifiers |
| in OMP_SCHEDULE variable. Set GFS_MONOTONIC for monotonic schedules. |
| (handle_omp_display_env): Display monotonic/nonmonotonic schedule |
| modifiers. Display (non-default) chunk sizes. |
| * fortran.c (omp_get_schedule_, omp_get_schedule_8_): Mask off |
| GFS_MONOTONIC bit. |
| * icv.c (omp_set_schedule): Mask off omp_sched_monotonic bit in switch. |
| * loop.c (GOMP_loop_runtime_start, GOMP_loop_ordered_runtime_start, |
| GOMP_loop_doacross_runtime_start, GOMP_parallel_loop_runtime_start): |
| Mask off GFS_MONOTONIC bit. |
| (GOMP_loop_maybe_nonmonotonic_runtime_next, |
| GOMP_loop_maybe_nonmonotonic_runtime_start, |
| GOMP_loop_nonmonotonic_runtime_next, |
| GOMP_loop_nonmonotonic_runtime_start, |
| GOMP_parallel_loop_maybe_nonmonotonic_runtime, |
| GOMP_parallel_loop_nonmonotonic_runtime): New aliases or wrapper |
| functions. |
| * loop_ull.c (GOMP_loop_ull_runtime_start, |
| GOMP_loop_ull_ordered_runtime_start, |
| GOMP_loop_ull_doacross_runtime_start): Mask off GFS_MONOTONIC bit. |
| (GOMP_loop_ull_maybe_nonmonotonic_runtime_next, |
| GOMP_loop_ull_maybe_nonmonotonic_runtime_start, |
| GOMP_loop_ull_nonmonotonic_runtime_next, |
| GOMP_loop_ull_nonmonotonic_runtime_start): Likewise. |
| |
| 2018-10-23 Jakub Jelinek <jakub@redhat.com> |
| |
| * libgomp.h (gomp_parallel_reduction_register): Declare. |
| (gomp_team_start): Add taskgroup argument. |
| * libgomp_g.h (GOMP_parallel_reductions): New protype. |
| * libgomp.map (GOMP_5.0): Add GOMP_parallel_reductions. Sort. |
| * loop.c (gomp_parallel_loop_start): Pass NULL as taskgroup to |
| gomp_team_start. |
| * parallel.c (GOMP_parallel_start): Likewise. |
| (GOMP_parallel): Likewise. Formatting fix. |
| (GOMP_parallel_reductions): New function. |
| * sections.c (GOMP_parallel_sections_start, GOMP_parallel_sections): |
| Pass NULL as taskgroup to gomp_team_start. |
| * task.c (gomp_taskgroup_init): New static inline function. |
| (GOMP_taskgroup_start): Use it. |
| (gomp_reduction_register): New static inline function. |
| (GOMP_taskgroup_reduction_register): Use it. |
| (GOMP_taskgroup_reduction_unregister): Add ialias. |
| (gomp_parallel_reduction_register): New function. |
| * team.c (gomp_team_start): Add taskgroup argument, initialize implicit |
| tasks' taskgroup field to that. |
| * config/nvptx/team.c (gomp_team_start): Likewise. |
| * testsuite/libgomp.c-c++-common/task-reduction-6.c: New test. |
| * testsuite/libgomp.c-c++-common/task-reduction-7.c: New test. |
| * testsuite/libgomp.c/task-reduction-2.c: New test. |
| * testsuite/libgomp.c++/task-reduction-8.C: New test. |
| * testsuite/libgomp.c++/task-reduction-9.C: New test. |
| * testsuite/libgomp.c++/task-reduction-10.C: New test. |
| * testsuite/libgomp.c++/task-reduction-11.C: New test. |
| * testsuite/libgomp.c++/task-reduction-12.C: New test. |
| * testsuite/libgomp.c++/task-reduction-13.C: New test. |
| |
| 2018-10-18 Jakub Jelinek <jakub@redhat.com> |
| |
| * testsuite/libgomp.c-c++-common/taskloop-reduction-3.c (bar): Define |
| iterator inside of the construct. |
| |
| * testsuite/libgomp.c-c++-common/master-combined-1.c: New test. |
| * testsuite/libgomp.c-c++-common/taskloop-reduction-3.c: New test. |
| * testsuite/libgomp.c-c++-common/taskloop-reduction-4.c: New test. |
| |
| 2018-10-16 Jakub Jelinek <jakub@redhat.com> |
| |
| * task.c (GOMP_taskgroup_reduction_register): Add ialias. |
| * taskloop.c (GOMP_taskloop): Handle GOMP_TASK_FLAG_REDUCTION flag |
| by calling GOMP_taskgroup_reduction_register. |
| * libgomp_g.h: Include gstdint.h. |
| (GOMP_taskgroup_reduction_register, |
| GOMP_taskgroup_reduction_unregister, GOMP_task_reduction_remap): New |
| prototypes. |
| * testsuite/libgomp.c-c++-common/taskloop-reduction-1.c: New test. |
| * testsuite/libgomp.c-c++-common/taskloop-reduction-2.c: New test. |
| * testsuite/libgomp.c++/taskloop-reduction-1.C: New test. |
| * testsuite/libgomp.c++/taskloop-reduction-2.C: New test. |
| * testsuite/libgomp.c++/taskloop-reduction-3.C: New test. |
| * testsuite/libgomp.c++/taskloop-reduction-4.C: New test. |
| * testsuite/libgomp.c++/task-reduction-4.C (foo): Turn into function |
| template, replace all int occurences with the template parameter T. |
| (test): Likewise. |
| |
| 2018-10-10 Jakub Jelinek <jakub@redhat.com> |
| |
| * testsuite/libgomp.c-c++-common/task-reduction-5.c (size_t): New |
| typedef. |
| (bar): Use it instead of __SIZE_TYPE__ directly. |
| (foo): Likewise. Use (~(size_t) 0) instead of __SIZE_MAX__. |
| * testsuite/libgomp.c/task-reduction-1.c: New test. |
| * testsuite/libgomp.c++/task-reduction-7.C: New test. |
| |
| 2018-10-09 Jakub Jelinek <jakub@redhat.com> |
| |
| * testsuite/libgomp.c-c++-common/task-reduction-5.c: Add further test |
| to verify the array bound var can be changed in taskgroup. |
| |
| 2018-10-08 Jakub Jelinek <jakub@redhat.com> |
| |
| * task.c (GOMP_taskgroup_reduction_register): If team is NULL, create |
| implicit team with 1 thread and call GOMP_taskgroup_start again. Don't |
| mix declarations with statements. |
| * team.c (gomp_team_end): Determine nesting by thr->ts.level != 0 |
| rather than thr->ts.team != NULL. |
| * testsuite/libgomp.c-c++-common/task-reduction-4.c: New test. |
| |
| * testsuite/libgomp.c-c++-common/task-reduction-5.c: New test. |
| |
| * env.c (gomp_affinity_format_var): Use %i instead of %T and |
| %A instead of %a. |
| * affinity-fmt.c (affinity_types): Change short forms h to H, |
| a to A, A to a and T to i. Change long forms thread_level to |
| nesting_level and thread_identifier to native_thread_id. Add |
| team_num/t and num_teams/T entries. |
| (gomp_display_affinity): Adjust for the above changes. |
| * testsuite/libgomp.c-c++-common/display-affinity-1.c: Likewise. |
| Add test also for %{team_num}, %{num_teams}, %t and %T. |
| * testsuite/libgomp.fortran/display-affinity-1.f90: Likewise. |
| |
| 2018-09-27 Jakub Jelinek <jakub@redhat.com> |
| |
| * testsuite/libgomp.c++/task-reduction-5.C (main): Add forgotten |
| checks. |
| * testsuite/libgomp.c++/task-reduction-6.C: New test. |
| |
| * configure.ac: Check for aligned_alloc, posix_memalign, memalign |
| and _aligned_malloc. |
| * libgomp.h (gomp_aligned_alloc, gomp_aligned_free): New prototypes. |
| (struct gomp_taskgroup): Add reductions field. |
| * libgomp.map (GOMP_5.0): Export GOMP_taskgroup_reduction_register, |
| GOMP_taskgroup_reduction_unregister and GOMP_task_reduction_remap. |
| * task.c (GOMP_taskgroup_start): Initialize taskgroup->reductions. |
| (GOMP_taskgroup_reduction_register, |
| GOMP_taskgroup_reduction_unregister, GOMP_task_reduction_remap): New |
| functions. |
| * alloc.c (gomp_aligned_alloc, gomp_aligned_free): New functions. |
| * configure: Regenerated. |
| * config.h.in: Regenerated. |
| * testsuite/libgomp.c-c++-common/task-reduction-1.c: New test. |
| * testsuite/libgomp.c-c++-common/task-reduction-2.c: New test. |
| * testsuite/libgomp.c-c++-common/task-reduction-3.c: New test. |
| * testsuite/libgomp.c++/task-reduction-1.C: New test. |
| * testsuite/libgomp.c++/task-reduction-2.C: New test. |
| * testsuite/libgomp.c++/task-reduction-3.C: New test. |
| * testsuite/libgomp.c++/task-reduction-4.C: New test. |
| * testsuite/libgomp.c++/task-reduction-5.C: New test. |
| |
| 2018-08-02 Jakub Jelinek <jakub@redhat.com> |
| |
| * testsuite/libgomp.c-c++-common/depend-iterator-1.c: Add tests for |
| unsigned iterators, add gaps in between different arr2 bits. |
| * testsuite/libgomp.c++/depend-iterator-1.C: Likewise. |
| |
| 2018-08-01 Jakub Jelinek <jakub@redhat.com> |
| |
| * testsuite/libgomp.c-c++-common/depend-iterator-1.c (main): Separate |
| dependence modifier from type with comma instead of colon. |
| * testsuite/libgomp.c-c++-common/depend-iterator-2.c (foo): Likewise. |
| * testsuite/libgomp.c-c++-common/depobj-1.c (dep, dep2, dep3, |
| antidep): Add depobj: to depend clauses without dependence type. |
| * testsuite/libgomp.c++/depend-iterator-1.C (bar, baz): Separate |
| dependence modifier from type with comma instead of colon. |
| * testsuite/libgomp.c++/depobj-1.C (dep, dep2, dep3, antidep): Add |
| depobj: to depend clauses without dependence type. |
| |
| 2018-07-27 Jakub Jelinek <jakub@redhat.com> |
| |
| * libgomp.map (OMP_5.0): Export omp_pause_resource{,_all}{,_}. |
| * omp.h.in (omp_pause_resource_t): New typedef. |
| (omp_pause_resource, omp_pause_resource_all): New prototypes. |
| * omp_lib.f90.in (omp_pause_resource_kind, omp_pause_soft, |
| omp_pause_hard): New parameters. |
| (omp_pause_resource, omp_pause_resource_all): New interfaces. |
| * omp_lib.h.in (omp_pause_resource_kind, omp_pause_soft, |
| omp_pause_hard): New parameters. |
| (omp_pause_resource, omp_pause_resource_all): New externals. |
| * libgomp.h (gomp_pause_host): New prototype. |
| * team.c (gomp_thread_attr): Remove comment. |
| (gomp_thread_start): Call pthread_detach. |
| (gomp_free_pool_helper): Likewise. |
| (gomp_team_start): Don't call pthread_attr_setdetachstate. |
| (gomp_pause_pool_helper, gomp_pause_host): New functions. |
| * target.c (omp_pause_resource, omp_pause_resource_all): New functions. |
| * env.c (initialize_env): Don't call pthread_attr_setdetachstate. |
| * fortran.c (omp_pause_resource, omp_pause_resource_all): Add |
| ialias_redirect. |
| (omp_pause_resource_, omp_pause_resource_all_): New functions. |
| * config/nvptx/team.c (gomp_pause_host): New function. |
| * config/nvptx/target.c (omp_pause_resource, omp_pause_resource_all): |
| New functions. |
| * testsuite/libgomp.c-c++-common/pause-1.c: New test. |
| * testsuite/libgomp.c-c++-common/pause-2.c: New test. |
| |
| 2018-07-25 Jakub Jelinek <jakub@redhat.com> |
| |
| * Makefile.am (libgomp_la_SOURCES): Add teams.c. |
| * libgomp_g.h (GOMP_teams_reg): New prototype. |
| * libgomp.map (GOMP_5.0): Export GOMP_teams_reg. |
| * icv-device.c (omp_get_num_teams, omp_get_team_num): Move these |
| functions to ... |
| * teams.c: ... here. New file. |
| * config/nvptx/icv-device.c (omp_get_num_teams, omp_get_team_num): |
| Move these functions to ... |
| * config/nvptx/teams.c: ... here. New file. |
| * testsuite/libgomp.c++/for-16.C: New test. |
| * testsuite/libgomp.c++/for-26.C: New test. |
| * testsuite/libgomp.c-c++-common/for-14.c: New test. |
| * testsuite/libgomp.c-c++-common/for-15.c: New test. |
| * testsuite/libgomp.c-c++-common/pr66199-10.c: New test. |
| * testsuite/libgomp.c-c++-common/pr66199-11.c: New test. |
| * testsuite/libgomp.c-c++-common/pr66199-12.c: New test. |
| * testsuite/libgomp.c-c++-common/pr66199-13.c: New test. |
| * testsuite/libgomp.c-c++-common/pr66199-14.c: New test. |
| * testsuite/libgomp.c/teams-1.c: New test. |
| * testsuite/libgomp.c/teams-2.c: New test. |
| * testsuite/libgomp.c/thread-limit-5.c: New test. |
| * testsuite/libgomp.c/thread-limit-4.c: New test. |
| * Makefile.in: Regenerated. |
| |
| 2018-07-18 Jakub Jelinek <jakub@redhat.com> |
| |
| * testsuite/libgomp.c++/for-23.C: New test. |
| * testsuite/libgomp.c++/for-24.C: New test. |
| * testsuite/libgomp.c++/for-25.C: New test. |
| |
| 2018-06-28 Jakub Jelinek <jakub@redhat.com> |
| |
| * omp.h.in (omp_depend_t): New typedef. |
| * task.c (gomp_task_handle_depend): Handle new depend array format |
| in addition to the old. Handle mutexinoutset kinds the same as |
| inout for now, handle unspecified kinds. |
| (gomp_task_maybe_wait_for_dependencies): Likewise. |
| (gomp_create_target_task): Handle new depend array format count in |
| addition to the old. |
| (GOMP_task): Likewise. Adjust function comment. |
| * testsuite/libgomp.c-c++-common/depend-iterator-2.c: New test. |
| * testsuite/libgomp.c-c++-common/depobj-1.c: New test. |
| * testsuite/libgomp.c++/depend-1.C: New test. |
| * testsuite/libgomp.c++/depobj-1.C: New test. |
| |
| 2018-06-19 Jakub Jelinek <jakub@redhat.com> |
| |
| * libgomp_g.h (GOMP_taskwait_depend): Add prototype. |
| * task.c (GOMP_taskwait_depend): New function. |
| (gomp_task_maybe_wait_for_dependencies): Fix a function comment typo. |
| * libgomp.map (GOMP_5.0): Export GOMP_taskwait_depend. |
| * testsuite/libgomp.c-c++-common/taskwait-depend-1.c: New test. |
| |
| 2018-06-13 Jakub Jelinek <jakub@redhat.com> |
| |
| * testsuite/libgomp.c-c++-common/depend-iterator-1.c: New test. |
| * testsuite/libgomp.c++/depend-iterator-1.C: New test. |
| |
| 2018-06-04 Jakub Jelinek <jakub@redhat.com> |
| |
| * testsuite/libgomp.c-c++-common/simd-1.c: New test. |
| |
| 2018-05-23 Jakub Jelinek <jakub@redhat.com> |
| |
| * configure.ac (HAVE_UNAME, HAVE_GETHOSTNAME, HAVE_GETPID): Add |
| new tests. |
| * configure.tgt: Add -DUSING_INITIAL_EXEC_TLS to XCFLAGS for Linux. |
| * Makefile.am (libgomp_la_SOURCES): Add affinity-fmt.c. |
| * libgomp.map (OMP_5.0): Export omp_{capture,display}_affinity{,_}, |
| and omp_[gs]et_affinity_format{,_}. |
| * libgomp.h (gomp_display_affinity_var, gomp_affinity_format_var, |
| gomp_affinity_format_len): Declare. |
| (GOMP_NEEDS_THREAD_HANDLE): Define if needed. |
| (struct gomp_thread): Add handle field if GOMP_NEEDS_THREAD_HANDLE is |
| defined. |
| (gomp_display_affinity_place): Declare. |
| (gomp_set_affinity_format, gomp_display_string): Likewise. |
| (gomp_thread_handle): New typedef. |
| (gomp_display_affinity, gomp_display_affinity_thread): Declare. |
| (gomp_thread_self, gomp_thread_to_pthread_t): New inline functions. |
| * affinity-fmt.c: New file. |
| * affinity.c (gomp_display_affinity_place): New function. |
| * config/linux/affinity.c (gomp_display_affinity_place): New function. |
| * env.c (gomp_display_affinity_var, gomp_affinity_format_var, |
| gomp_affinity_format_len): New variables. |
| (handle_omp_display_env): Print OMP_DISPLAY_AFFINITY and |
| OMP_AFFINITY_FORMAT. |
| (initialize_env): Handle OMP_DISPLAY_AFFINITY and OMP_AFFINITY_FORMAT |
| env vars. |
| * fortran.c: Include stdio.h and string.h. |
| (omp_set_affinity_format_, omp_get_affinity_format_, |
| omp_display_affinity_, omp_capture_affinity_): New functions. |
| * omp.h.in (omp_set_affinity_format, omp_get_affinity_format, |
| omp_display_affinity, omp_capture_affinity): Declare. |
| * omp_lib.f90.in (omp_set_affinity_format, omp_get_affinity_format, |
| omp_display_affinity, omp_capture_affinity): Add new interfaces. |
| * omp_lib.h.in (omp_set_affinity_format, omp_get_affinity_format, |
| omp_display_affinity, omp_capture_affinity): New externs. |
| * team.c (struct gomp_thread_start_data): Add handle field. |
| (gomp_team_start): Handle OMP_DISPLAY_AFFINITY env var. |
| * configure: Regenerated. |
| * config.h.in: Regenerated. |
| * Makefile.in: Regenerated. |
| * testsuite/libgomp.c-c++-common/display-affinity-1.c: New test. |
| * testsuite/libgomp.fortran/display-affinity-1.f90: New test. |
| |
| 2018-05-07 Jakub Jelinek <jakub@redhat.com> |
| |
| * testsuite/libgomp.c-c++-common/depend-mutexinout-1.c: New test. |
| * testsuite/libgomp.c-c++-common/depend-mutexinout-2.c: New test. |
| |
| 2018-05-04 Jakub Jelinek <jakub@redhat.com> |
| |
| * testsuite/libgomp.c/cancel-for-2.c (foo): Use cancel modifier |
| in some cases. |
| |
| * omp.h.in (enum omp_lock_hint_t): Renamed to ... |
| (enum omp_sync_hint_t): ... this. Define omp_sync_hint_* |
| enumerators using numbers and omp_lock_hint_* as their aliases. |
| (omp_lock_hint_t): New typedef. Rename to ... |
| (omp_sync_hint_t): ... this. |
| (omp_init_lock_with_hint, omp_init_nest_lock_with_hint): Use |
| omp_sync_hint_t instead of omp_lock_hint_t. |
| |
| 2017-06-29 Jakub Jelinek <jakub@redhat.com> |
| |
| * testsuite/libgomp.c/for-2.h: If CONDNE macro is defined, define |
| a different N(test), don't define N(f0) to N(f14), but instead define |
| N(f20) to N(f34) using != comparisons. |
| * testsuite/libgomp.c/for-4.c: Use dg-additional-options. |
| * testsuite/libgomp.c/for-7.c: New test. |
| * testsuite/libgomp.c/for-8.c: New test. |
| * testsuite/libgomp.c/for-9.c: New test. |
| * testsuite/libgomp.c/for-10.c: New test. |
| * testsuite/libgomp.c/for-11.c: New test. |
| * testsuite/libgomp.c/for-12.c: New test. |
| * testsuite/libgomp.c/for-13.c: New test. |
| * testsuite/libgomp.c++/for-12.C: Remove dg-options. |
| * testsuite/libgomp.c++/for-15.C: New test. |
| * testsuite/libgomp.c++/for-16.C: New test. |
| * testsuite/libgomp.c++/for-17.C: New test. |
| * testsuite/libgomp.c++/for-18.C: New test. |
| * testsuite/libgomp.c++/for-19.C: New test. |
| * testsuite/libgomp.c++/for-20.C: New test. |
| * testsuite/libgomp.c++/for-21.C: New test. |
| * testsuite/libgomp.c++/for-22.C: New test. |
| * testsuite/libgomp.c++/for-23.C: New test. |
| |
| 2017-06-12 Jakub Jelinek <jakub@redhat.com> |
| |
| * omp.h.in (omp_target_is_present, omp_target_disassociate_ptr): |
| Change first argument from void * to const void *. |
| (omp_target_memcpy, omp_target_memcpy_rect): Change second argument |
| from void * to const void *. |
| (omp_target_associate_ptr): Change first and second arguments from |
| void * to const void *. |
| * target.c (omp_target_is_present, omp_target_disassociate_ptr): |
| Change ptr argument from void * to const void *. |
| (omp_target_memcpy): Change src argument from void * to const void *. |
| (omp_target_memcpy_rect): Likewise. |
| (omp_target_memcpy_rect_worker): Likewise. Use const char * casts |
| instead of char * where needed. |
| (omp_target_associate_ptr): Change host_ptr and device_ptr arguments |
| from void * to const void *. |
| |
| Copyright (C) 2017-2018 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. |