+2021-01-16 Kwok Cheung Yeung <kcy@codesourcery.com>
+
+ * builtin-types.def
+ (BT_FN_VOID_OMPFN_PTR_OMPCPYFN_LONG_LONG_BOOL_UINT_PTR_INT): Rename
+ to...
+ (BT_FN_VOID_OMPFN_PTR_OMPCPYFN_LONG_LONG_BOOL_UINT_PTR_INT_PTR):
+ ...this. Add extra argument.
+ * gimplify.c (omp_default_clause): Ensure that event handle is
+ firstprivate in a task region.
+ (gimplify_scan_omp_clauses): Handle OMP_CLAUSE_DETACH.
+ (gimplify_adjust_omp_clauses): Likewise.
+ * omp-builtins.def (BUILT_IN_GOMP_TASK): Change function type to
+ BT_FN_VOID_OMPFN_PTR_OMPCPYFN_LONG_LONG_BOOL_UINT_PTR_INT_PTR.
+ * omp-expand.c (expand_task_call): Add GOMP_TASK_FLAG_DETACH to flags
+ if detach clause specified. Add detach argument when generating
+ call to GOMP_task.
+ * omp-low.c (scan_sharing_clauses): Setup data environment for detach
+ clause.
+ (finish_taskreg_scan): Move field for variable containing the event
+ handle to the front of the struct.
+ * tree-core.h (enum omp_clause_code): Add OMP_CLAUSE_DETACH. Fix
+ ordering.
+ * tree-nested.c (convert_nonlocal_omp_clauses): Handle
+ OMP_CLAUSE_DETACH clause.
+ (convert_local_omp_clauses): Handle OMP_CLAUSE_DETACH clause.
+ * tree-pretty-print.c (dump_omp_clause): Handle OMP_CLAUSE_DETACH.
+ * tree.c (omp_clause_num_ops): Add entry for OMP_CLAUSE_DETACH.
+ Fix ordering.
+ (omp_clause_code_name): Add entry for OMP_CLAUSE_DETACH. Fix
+ ordering.
+ (walk_tree_1): Handle OMP_CLAUSE_DETACH.
+
+2021-01-16 Sebastian Huber <sebastian.huber@embedded-brains.de>
+
+ * config/nios2/t-rtems: Reset all MULTILIB_* variables. Shorten
+ multilib directory names. Use MULTILIB_REQUIRED instead of
+ MULTILIB_EXCEPTIONS. Add -mhw-mul -mhw-mulx -mhw-div
+ -mcustom-fpu-cfg=fph2 multilib.
+
+2021-01-16 Sebastian Huber <sebastian.huber@embedded-brains.de>
+
+ * config/nios2/nios2.c (NIOS2_FPU_CONFIG_NUM): Adjust value.
+ (nios2_init_fpu_configs): Provide register values for new
+ -mcustom-fpu-cfg=fph2 option variant.
+ * doc/invoke.texi (-mcustom-fpu-cfg=fph2): Document new option
+ variant.
+
+2021-01-16 Sebastian Huber <sebastian.huber@embedded-brains.de>
+
+ * config/nios2/nios2.c (nios2_custom_check_insns): Remove
+ custom instruction warnings.
+
+2021-01-16 Jakub Jelinek <jakub@redhat.com>
+
+ PR tree-optimization/96669
+ * match.pd ((CST << x) & 1 -> x == 0): New simplification.
+
+2021-01-16 Jakub Jelinek <jakub@redhat.com>
+
+ PR tree-optimization/96271
+ * passes.def: Pass false argument to first two pass_cd_dce
+ instances and true to last instance. Add comment that
+ last instance rewrites no longer addressed locals.
+ * tree-ssa-dce.c (pass_cd_dce): Add update_address_taken_p member and
+ initialize it.
+ (pass_cd_dce::set_pass_param): New method.
+ (pass_cd_dce::execute): Return TODO_update_address_taken from
+ last cd_dce instance.
+
2021-01-15 Carl Love <cel@us.ibm.com>
* config/rs6000/altivec.h (vec_mulh, vec_div, vec_dive, vec_mod):
+2021-01-16 Kwok Cheung Yeung <kcy@codesourcery.com>
+
+ * c-pragma.h (pragma_omp_clause): Add PRAGMA_OMP_CLAUSE_DETACH.
+ Redefine PRAGMA_OACC_CLAUSE_DETACH.
+
2021-01-15 Jakub Jelinek <jakub@redhat.com>
PR tree-optimization/98597
+2021-01-16 Kwok Cheung Yeung <kcy@codesourcery.com>
+
+ * c-parser.c (c_parser_omp_clause_detach): New.
+ (c_parser_omp_all_clauses): Handle PRAGMA_OMP_CLAUSE_DETACH clause.
+ (OMP_TASK_CLAUSE_MASK): Add mask for PRAGMA_OMP_CLAUSE_DETACH.
+ * c-typeck.c (c_finish_omp_clauses): Handle PRAGMA_OMP_CLAUSE_DETACH
+ clause. Prevent use of detach with mergeable and overriding the
+ data sharing mode of the event handle.
+
2021-01-15 Jakub Jelinek <jakub@redhat.com>
* c-typeck.c (c_finish_omp_clauses): For reduction build array with
+2021-01-16 Kwok Cheung Yeung <kcy@codesourcery.com>
+
+ * parser.c (cp_parser_omp_clause_detach): New.
+ (cp_parser_omp_all_clauses): Handle PRAGMA_OMP_CLAUSE_DETACH.
+ (OMP_TASK_CLAUSE_MASK): Add mask for PRAGMA_OMP_CLAUSE_DETACH.
+ * pt.c (tsubst_omp_clauses): Handle OMP_CLAUSE_DETACH clause.
+ * semantics.c (finish_omp_clauses): Handle OMP_CLAUSE_DETACH clause.
+ Prevent use of detach with mergeable and overriding the data sharing
+ mode of the event handle.
+
2021-01-15 Nathan Sidwell <nathan@acm.org>
PR c++/98538
+2021-01-16 Kwok Cheung Yeung <kcy@codesourcery.com>
+
+ * dump-parse-tree.c (show_omp_clauses): Handle detach clause.
+ * frontend-passes.c (gfc_code_walker): Walk detach expression.
+ * gfortran.h (struct gfc_omp_clauses): Add detach field.
+ (gfc_c_intptr_kind): New.
+ * openmp.c (gfc_free_omp_clauses): Free detach clause.
+ (gfc_match_omp_detach): New.
+ (enum omp_mask1): Add OMP_CLAUSE_DETACH.
+ (enum omp_mask2): Remove OMP_CLAUSE_DETACH.
+ (gfc_match_omp_clauses): Handle OMP_CLAUSE_DETACH for OpenMP.
+ (OMP_TASK_CLAUSES): Add OMP_CLAUSE_DETACH.
+ (resolve_omp_clauses): Prevent use of detach with mergeable and
+ overriding the data sharing mode of the event handle.
+ * trans-openmp.c (gfc_trans_omp_clauses): Handle detach clause.
+ * trans-types.c (gfc_c_intptr_kind): New.
+ (gfc_init_kinds): Initialize gfc_c_intptr_kind.
+ * types.def
+ (BT_FN_VOID_OMPFN_PTR_OMPCPYFN_LONG_LONG_BOOL_UINT_PTR_INT): Rename
+ to...
+ (BT_FN_VOID_OMPFN_PTR_OMPCPYFN_LONG_LONG_BOOL_UINT_PTR_INT_PTR):
+ ...this. Add extra argument.
+
2021-01-14 Harald Anlauf <anlauf@gmx.de>
* gfortran.h (gfc_resolve_substring): Add prototype.
+2021-01-16 Jakub Jelinek <jakub@redhat.com>
+
+ * gfortran.dg/iso_fortran_binding_uint8_array_driver.c: Include
+ ../../../libgfortran/ISO_Fortran_binding.h rather than
+ ISO_Fortran_binding.h.
+
+2021-01-16 Kwok Cheung Yeung <kcy@codesourcery.com>
+
+ * c-c++-common/gomp/task-detach-1.c: New.
+ * g++.dg/gomp/task-detach-1.C: New.
+ * gcc.dg/gomp/task-detach-1.c: New.
+ * gfortran.dg/gomp/task-detach-1.f90: New.
+
+2021-01-16 Jakub Jelinek <jakub@redhat.com>
+
+ PR tree-optimization/96669
+ * gcc.dg/tree-ssa/pr96669-1.c: Adjust regexp.
+ * gcc.dg/tree-ssa/pr96669-2.c: New test.
+
+2021-01-16 Jakub Jelinek <jakub@redhat.com>
+
+ PR tree-optimization/96271
+ * gcc.target/i386/pr96271.c: New test.
+
2021-01-15 Carl Love <cel@us.ibm.com>
* gcc.target/powerpc/builtins-1-p10-runnable.c: New test file.
+2021-01-16 Kwok Cheung Yeung <kcy@codesourcery.com>
+
+ * gomp-constants.h (GOMP_TASK_FLAG_DETACH): New.
+
2021-01-03 Mike Frysinger <vapier@gentoo.org>
* libiberty.h (strverscmp): Delete duplicate prototype.
+2021-01-16 Kwok Cheung Yeung <kcy@codesourcery.com>
+
+ * fortran.c (omp_fulfill_event_): New.
+ * libgomp.h (struct gomp_task): Add detach and completion_sem fields.
+ (struct gomp_team): Add task_detach_queue and task_detach_count
+ fields.
+ * libgomp.map (OMP_5.0.1): Add omp_fulfill_event and omp_fulfill_event_.
+ * libgomp_g.h (GOMP_task): Add extra argument.
+ * omp.h.in (enum omp_event_handle_t): New.
+ (omp_fulfill_event): New.
+ * omp_lib.f90.in (omp_event_handle_kind): New.
+ (omp_fulfill_event): New.
+ * omp_lib.h.in (omp_event_handle_kind): New.
+ (omp_fulfill_event): Declare.
+ * priority_queue.c (priority_tree_find): New.
+ (priority_list_find): New.
+ (priority_queue_find): New.
+ * priority_queue.h (priority_queue_predicate): New.
+ (priority_queue_find): New.
+ * task.c (gomp_init_task): Initialize detach field.
+ (task_fulfilled_p): New.
+ (GOMP_task): Add detach argument. Ignore detach argument if
+ GOMP_TASK_FLAG_DETACH not set in flags. Initialize completion_sem
+ field. Copy address of completion_sem into detach argument and
+ into the start of the data record. Wait for detach event if task
+ not deferred.
+ (gomp_barrier_handle_tasks): Queue tasks with unfulfilled events.
+ Remove completed tasks and requeue dependent tasks.
+ (omp_fulfill_event): New.
+ * team.c (gomp_new_team): Initialize task_detach_queue and
+ task_detach_count fields.
+ (free_team): Free task_detach_queue field.
+ * testsuite/libgomp.c-c++-common/task-detach-1.c: New testcase.
+ * testsuite/libgomp.c-c++-common/task-detach-2.c: New testcase.
+ * testsuite/libgomp.c-c++-common/task-detach-3.c: New testcase.
+ * testsuite/libgomp.c-c++-common/task-detach-4.c: New testcase.
+ * testsuite/libgomp.c-c++-common/task-detach-5.c: New testcase.
+ * testsuite/libgomp.c-c++-common/task-detach-6.c: New testcase.
+ * testsuite/libgomp.fortran/task-detach-1.f90: New testcase.
+ * testsuite/libgomp.fortran/task-detach-2.f90: New testcase.
+ * testsuite/libgomp.fortran/task-detach-3.f90: New testcase.
+ * testsuite/libgomp.fortran/task-detach-4.f90: New testcase.
+ * testsuite/libgomp.fortran/task-detach-5.f90: New testcase.
+ * testsuite/libgomp.fortran/task-detach-6.f90: New testcase.
+
2021-01-15 Jakub Jelinek <jakub@redhat.com>
PR target/70454
+2021-01-16 H.J. Lu <hjl.tools@gmail.com>
+
+ * testsuite/29_atomics/atomic_flag/test_and_set/explicit-hle.cc:
+ Add -fcf-protection=none to -march=i486.
+
2021-01-14 François Dumont <fdumont@gcc.gnu.org>
* testsuite/23_containers/deque/debug/98466.cc: Make it pre-C++11