- 16 Nov, 2015 24 commits
-
-
gcc/ PR target/68277 * config/sh/sh.md (addsi3_scr): Handle reg overlap of operands[0] and operands[2]. (*addsi3): Add another insn_and_split variant for reload. Co-Authored-By: Kaz Kojima <kkojima@gcc.gnu.org> From-SVN: r230425
Oleg Endo committed -
2015-11-16 Richard Biener <rguenther@suse.de> PR middle-end/68117 * cfgexpand.c (pass_expand::execute): Destroy the edge redirection var map before setting RTL CFG hooks. From-SVN: r230424
Richard Biener committed -
* config/i386/sse.md (reduc_splus_v8df): Rename to... (reduc_plus_scal_v8df): ...here; reduce to temp and extract scalar. (reduc_splus_v4df): Rename to... (reduc_plus_scal_v4df): ...here; reduce to temp and extract scalar. (reduc_splus_v2df): Rename to... (reduc_plus_scal_v2df): ...here; reduce to temp and extract scalar. (reduc_splus_v16sf): Rename to... (reduc_plus_scal_v16sf): ...here; reduce to temp and extract scalar. (reduc_splus_v8sf): Rename to... (reduc_plus_scal_v8sf): ...here; reduce to temp and extract scalar. (reduc_splus_v4sf): Rename to... (reduc_plus_scal_v4sf): ...here; reduce to temp and extract scalar. (reduc_<code>_<mode>, all 3 variants): Rename each to... (reduc_<code>_scal_<mode>): ...here; reduce to temp and extract scalar. (reduc_umin_v8hf): Rename to... (reduc_umin_scal_v8hf): ...here; reduce to temp and extract scalar. From-SVN: r230423
Alan Lawrence committed -
gcc/ * omp-low.c (pass_omp_simd_clone::gate): If target allows - call without additional conditions. * doc/extend.texi (@item simd): New. gcc/c-family/ * c-common.c (handle_simd_attribute): New. (struct attribute_spec): Add entry for "simd". (handle_simd_attribute): New. gcc/c/ * c-parser.c (c_finish_omp_declare_simd): Look for "simd" attribute as well. Update error message. gcc/cp/ * parser.c (cp_parser_late_parsing_cilk_simd_fn_info): Look for "simd" attribute as well. Update error message. gcc/testsuite/ * c-c++-common/attr-simd.c: New test. * c-c++-common/attr-simd-2.c: New test. * c-c++-common/attr-simd-3.c: New test. From-SVN: r230422
Kirill Yukhin committed -
* gcc.target/aarch64/vclz.c: Correctly place INHIB_OPTIMIZATION. From-SVN: r230421
Alan Lawrence committed -
2015-11-16 Tom de Vries <tom@codesourcery.com> * passes.c (first_pass_instance): Remove variable. (execute_todo): Remove setting of first_pass_instance. * tree-pass.h (first_pass_instance): Remove declaration. From-SVN: r230420
Tom de Vries committed -
2015-11-16 Tom de Vries <tom@codesourcery.com> * passes.def: Add arg to pass_ccp pass instantiation. * tree-ssa-ccp.c (ccp_finalize): Add param nonzero_p. Use nonzero_p instead of first_pass_instance. (do_ssa_ccp): Add and handle param nonzero_p. (pass_ccp::pass_ccp): Initialize nonzero_p. (pass_ccp::set_pass_param): New member function. Set nonzero_p. (pass_ccp::execute): Call do_ssa_ccp with extra arg. (pass_ccp::nonzero_p): New private member. From-SVN: r230419
Tom de Vries committed -
2015-11-16 Tom de Vries <tom@codesourcery.com> * passes.def: Add arg to pass_object_sizes pass instantiation. * tree-object-size.c (pass_object_sizes::pass_object_sizes): Initialize insert_min_max_p. (pass_object_sizes::set_pass_param): New member function. Set insert_min_max_p. (pass_object_sizes::insert_min_max_p): New private member. (pass_object_sizes::execute): Use insert_min_max_p instead of first_pass_instance. From-SVN: r230418
Tom de Vries committed -
2015-11-16 Tom de Vries <tom@codesourcery.com> * passes.def: Add arg to pass_dominator pass instantiation. * tree-pass.h (first_pass_instance): Remove pass_dominator-related bit of comment. * tree-ssa-dom.c (pass_dominator::pass_dominator): Initialize may_peel_loop_headers_p. (pass_dominator::set_pass_param): New member function. Set may_peel_loop_headers_p. (pass_dominator::may_peel_loop_headers_p): New private member. (pass_dominator::execute): Use may_peel_loop_headers_p instead of first_pass_instance. From-SVN: r230417
Tom de Vries committed -
2015-11-16 Tom de Vries <tom@codesourcery.com> * passes.def: Add arg to pass_reassoc pass instantiation. * tree-ssa-reassoc.c (reassoc_insert_powi_p): New static variable. (acceptable_pow_call, reassociate_bb): Use reassoc_insert_powi_p instead of first_pass_instance. (execute_reassoc): Add and handle insert_powi_p parameter. (pass_reassoc::insert_powi_p): New private member. (pass_reassoc::pass_reassoc): Initialize insert_powi_p. (pass_reassoc::set_pass_param): New member function. Set insert_powi_p. (pass_reassoc::execute): Call execute_reassoc with extra arg. From-SVN: r230416
Tom de Vries committed -
2015-11-16 Tom de Vries <tom@codesourcery.com> * gdbhooks.py (class PassNames): Handle extra arg NEXT_PASS argument. * gen-pass-instances.awk (handle_line): Same. * pass_manager.h (class pass_manager): Define and undefine NEXT_PASS_WITH_ARG. * passes.c (opt_pass::set_pass_param): New function. (pass_manager::pass_manager): Define and undefine NEXT_PASS_WITH_ARG. * passes.def: Add extra arg to NEXT_PASS (pass_vrp). * tree-pass.h (gimple_opt::set_pass_param): Declare. * tree-vrp.c (vrp_finalize, execute_vrp): Add and handle warn_array_bounds_p parameter. (pass_vrp::pass_vrp): Initialize warn_array_bounds_p. (pass_vrp::set_pass_param): New function. (pass_vrp::execute): Add warn_array_bounds_p arg to execute_vrp call. (pass_vrp::warn_array_bounds_p): New private member. From-SVN: r230415
Tom de Vries committed -
* config/sparc/sparc.c (sparc_emit_probe_stack_range): Adjust. (output_probe_stack_range): Rotate the loop and simplify. From-SVN: r230414
Eric Botcazou committed -
* config/rs6000/rs6000.c (rs6000_emit_probe_stack_rang): Adjust. (output_probe_stack_range): Rotate the loop and simplify. From-SVN: r230413
Eric Botcazou committed -
* config/i386/i386.c (ix86_adjust_stack_and_probe): Adjust and use an lea instruction when possible. (output_adjust_stack_and_probe): Rotate the loop and simplify. (ix86_emit_probe_stack_range): Adjust. (output_probe_stack_range): Rotate the loop and simplify. From-SVN: r230412
Eric Botcazou committed -
2015-11-16 Christian Bruel <christian.bruel@st.com> * config/arm/arm_neon.h: Remove #ifndef check on __ARM_NEON. Replace #ifdef __ARM_FEATURE_CRYPTO, __ARM_FEATURE_FMA, __ARM_FP with appropriate pragma GCC target. 2015-11-16 Christian Bruel <christian.bruel@st.com> * lib/target-supports.exp (check_effective_target_arm_neon_ok_nocache): Check __ARM_NEON__ instead of "arm_neon.h. * gcc.target/arm/attr-neon3.c: New test. * gcc.target/arm/attr-neon-fp16.c: Likewise From-SVN: r230411
Christian Bruel committed -
2015-11-16 Christian Bruel <christian.bruel@st.com> PR target/65837 * config/arm/arm-c.c (arm_cpu_builtins): Conditionally set and reset __ARM_FEATURE_FMA and __ARM_NEON_FP, __ARM_FP. From-SVN: r230410
Christian Bruel committed -
gcc/ * config/aarch64/aarch64.c (cortexa57_branch_costs): New. (cortexa57_tunings): Use it. From-SVN: r230409
James Greenhalgh committed -
2015-11-16 Christian Bruel <christian.bruel@st.com> PR target/65837 * config/arm/arm-c.c (arm_cpu_builtins): Set or reset __ARM_FEATURE_CRYPTO, __VFP_FP__, __ARM_NEON__ (arm_pragma_target_parse): Change check for arm_cpu_builtins. undefine __ARM_FP. * config/arm/arm.c (arm_can_inline_p): Check FPUs. (arm_valid_target_attribute_rec): Handle -mfpu attribute target. * doc/invoke.texi (-mfpu=): Mention attribute and pragma. * doc/extend.texi (-mfpu=): Describe attribute. 2015-11-16 Christian Bruel <christian.bruel@st.com> PR target/65837 gcc.target/arm/lto/pr65837_0.c gcc.target/arm/attr-neon2.c gcc.target/arm/attr-neon.c gcc.target/arm/attr-neon-builtin-fail.c gcc.target/arm/attr-crypto.c From-SVN: r230408
Christian Bruel committed -
From-SVN: r230407
Christian Bruel committed -
2015-11-16 Christian Bruel <christian.bruel@st.com> PR target/65837 * config/arm/arm-protos.h (arm_init_neon_builtins): Declare. * config/arm/arm.c (arm_valid_target_attribute_tree): Call arm_init_neon_builtins. * config/arm/arm-builtins.c (arm_init_neon_builtins): Split into... (arm_init_neon_builtins_internal) (arm_init_crypto_builtins_internal): Test and set neon_set_p, neon_crypto_set_p. (neon_set_p, neon_crypto_set_p): New static booleans. From-SVN: r230406
Christian Bruel committed -
2015-11-16 Richard Biener <rguenther@suse.de> * gcc.dg/vect/bb-slp-32.c: Adjust testcase. From-SVN: r230405
Richard Biener committed -
2015-11-16 Christian Bruel <christian.bruel@st.com> PR target/65837 * config/arm/arm.c (arm_fpu_desc): Remove. (all_fpus): Make global. (arm_option_override): Use FPU TARGET accessors. (arm_declare_function_name): Likewise. * config/arm/arm.h (TARGET_VFP, TARGET_VFPD32, TARGET_VFP5) (TARGET_VFP_SINGLE, TARGET_VFP_DOUBLE, TARGET_NEON_FP16) (TARGET_FP16, TARGET_FMA, TARGET_FPU_ARMV8, TARGET_CRYPTO) (TARGET_NEON): Likewise. (all_fpus): Declare extern. (TARGET_FPU_NAME, TARGET_FPU_MODEL, TARGET_FPU_REV) (TARGET_FPU_REGS, TARGET_FPU_FEATURES): Define all_fpus accessors. From-SVN: r230404
Christian Bruel committed -
Some of the pa target macros rely on macros in emit-rtl.h and sdbout.c uses some of those macros, which means that sdbout.c needs to include emit-rtl.h. gcc/ChangeLog: 2015-11-15 Trevor Saunders <tbsaunde+gcc@tbsaunde.org> PR middle-end/68366 * sdbout.c: Include emit-rtl.h and function.h. From-SVN: r230402
Trevor Saunders committed -
From-SVN: r230401
GCC Administrator committed
-
- 15 Nov, 2015 10 commits
-
-
* config/rs6000/on_exit.c: New file. * config/rs6000/t-aix-cxa (LIB2ADDEH): Build on_exit.c. * config/rs6000/libgcc-aix-cxa.ver (on_exit): Add symbol to exports. From-SVN: r230398
David Edelsohn committed -
* config/i386/freebsd.h (SUBTARGET32_DEFAULT_CPU): Change to i586. Remove support for FreeBSD 5 and earlier. From-SVN: r230397
Gerald Pfeifer committed -
2015-11-15 Paul Thomas <pault@gcc.gnu.org> PR fortran/50221 PR fortran/68216 PR fortran/63932 PR fortran/66408 * trans_array.c (gfc_conv_scalarized_array_ref): Pass the symbol decl for deferred character length array references. * trans-stmt.c (gfc_trans_allocate): Keep the string lengths to update deferred length character string lengths. * trans-types.c (gfc_get_dtype_rank_type); Use the string length of deferred character types for the dtype size. * trans.c (gfc_build_array_ref): For references to deferred character arrays, use the domain max value, if it is a variable to set the 'span' and use pointer arithmetic for acces to the element. (trans_code): Set gfc_current_locus for diagnostic purposes. PR fortran/67674 * trans-expr.c (gfc_conv_procedure_call): Do not fix deferred string lengths of components. PR fortran/49954 * resolve.c (deferred_op_assign): New function. (gfc_resolve_code): Call it. * trans-array.c (concat_str_length): New function. (gfc_alloc_allocatable_for_assignment): Jump directly to alloc/ realloc blocks for deferred character length arrays because the string length might change, even if the shape is the same. Call concat_str_length to obtain the string length for concatenation since it is needed to compute the lhs string length. Set the descriptor dtype appropriately for the new string length. * trans-expr.c (gfc_trans_assignment_1): Use the rse string length for all characters, other than deferred types. For concatenation operators, push the rse.pre block to the inner most loop so that the temporary pointer and the assignments are properly placed. 2015-11-15 Paul Thomas <pault@gcc.gnu.org> PR fortran/50221 * gfortran.dg/deferred_character_1.f90: New test. * gfortran.dg/deferred_character_4.f90: New test for comment #4 of the PR. PR fortran/68216 * gfortran.dg/deferred_character_2.f90: New test. PR fortran/67674 * gfortran.dg/deferred_character_3.f90: New test. PR fortran/63932 * gfortran.dg/deferred_character_5.f90: New test. PR fortran/66408 * gfortran.dg/deferred_character_6.f90: New test. PR fortran/49954 * gfortran.dg/deferred_character_7.f90: New test. From-SVN: r230396
Paul Thomas committed -
PR libstdc++/68353 * include/bits/basic_string.h: Test value of _GLIBCXX_USE_C99_WCHAR not whether it is defined. * include/ext/vstring.h: Likewise. From-SVN: r230395
Jonathan Wakely committed -
gcc/cp/ChangeLog: 2015-11-14 Trevor Saunders <tbsaunde+gcc@tbsaunde.org> * parser.c (cp_parser_omp_declare_target): Adjust. gcc/ChangeLog: 2015-11-14 Trevor Saunders <tbsaunde+gcc@tbsaunde.org> * configure: Regenerate. * configure.ac: Always define ENABLE_OFFLOADING. * cgraph.c (cgraph_node::create): Adjust. * gcc.c (process_command): Likewise. * omp-low.c (create_omp_child_function): Likewise. (expand_omp_target): Likewise. * varpool.c (varpool_node::get_create): Likewise. gcc/c/ChangeLog: 2015-11-14 Trevor Saunders <tbsaunde+gcc@tbsaunde.org> * c-parser.c (c_parser_omp_declare_target): Adjust. From-SVN: r230393
Trevor Saunders committed -
gcc/ChangeLog: 2015-11-14 Trevor Saunders <tbsaunde+gcc@tbsaunde.org> * defaults.h (EH_RETURN_HANDLER_RTX): New default definition. * df-scan.c (df_get_exit_block_use_set): Adjust. * except.c (expand_eh_return): Likewise. From-SVN: r230392
Trevor Saunders committed -
gcc/ChangeLog: 2015-11-14 Trevor Saunders <tbsaunde+gcc@tbsaunde.org> * config/i386/i386.h (TARGET_PECOFF): Remove define. * defaults.h (TARGET_PECOFF): New default definition. * varasm.c (handle_vtv_comdat_section): Adjust. gcc/cp/ChangeLog: 2015-11-14 Trevor Saunders <tbsaunde+gcc@tbsaunde.org> * vtable-class-hierarchy.c (vtv_generate_init_routine): Adjust. From-SVN: r230391
Trevor Saunders committed -
gcc/ChangeLog: 2015-11-14 Trevor Saunders <tbsaunde+gcc@tbsaunde.org> * defaults.h: New definition of SDB_DEBUGGING_INFO. * doc/tm.texi: Regenerate. * doc/tm.texi.in: Adjust. * final.c (rest_of_clean_state): Remove check if SDB_DEBUGGING_INFO is defined. * function.c (number_blocks): Likewise. * output.h: Likewise. * sdbout.c: Likewise. * toplev.c (process_options): Likewise. From-SVN: r230390
Trevor Saunders committed -
The last target using this was i960, which was removed many years ago, so there's no reason to keep it. gcc/ChangeLog: 2015-11-14 Trevor Saunders <tbsaunde+gcc@tbsaunde.org> * gsyms.h (enum sdb_type): Remove code for EXTENDED_SDB_BASIC_TYPES. (enum sdb_masks): Likewise. * sdbout.c (plain_type_1): Likewise. * system.h: Poison EXTENDED_SDB_BASIC_TYPES macro. From-SVN: r230389
Trevor Saunders committed -
From-SVN: r230388
GCC Administrator committed
-
- 14 Nov, 2015 6 commits
-
-
* libgomp.texi: Update references from OpenMP 4.0 to OpenMP 4.5 sections. From-SVN: r230384
Jakub Jelinek committed -
2015-11-14 Andreas Tobler <andreast@gcc.gnu.org> * acinclude.m4 (GLIBCXX_ENABLE_CLOCALE): Change locale implementation from darwin to DragonFly. * configure: Regenerate. * config/os/bsd/freebsd/ctype_configure_char.cc: Improve locale support, do it the same as DragonFly. * config/os/bsd/freebsd/os_defines.h: Add fine grained C99 defines. From-SVN: r230383
Andreas Tobler committed -
PR bootstrap/68346 * call.c (build_new_op_1): Don't fold arguments to warn_tautological_cmp. From-SVN: r230382
Jason Merrill committed -
gcc/ 2015-11-14 Jakub Jelinek <jakub@redhat.com> * omp-low.c (lower_omp_ordered): Add argument to GOMP_SMD_ORDERED_* internal calls - 0 if ordered simd and 1 for ordered threads simd. * tree-vectorizer.c (adjust_simduid_builtins): If GOMP_SIMD_ORDERED_* argument is 1, replace it with GOMP_ordered_* call instead of removing it. gcc/c/ 2015-11-14 Jakub Jelinek <jakub@redhat.com> * c-typeck.c (c_finish_omp_clauses): Don't mark GOMP_MAP_FIRSTPRIVATE_POINTER decls addressable. gcc/cp/ 2015-11-14 Jakub Jelinek <jakub@redhat.com> * semantics.c (finish_omp_clauses): Don't mark GOMP_MAP_FIRSTPRIVATE_POINTER decls addressable. libgomp/ 2015-11-14 Jakub Jelinek <jakub@redhat.com> Aldy Hernandez <aldyh@redhat.com> Ilya Verbin <ilya.verbin@intel.com> * 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. liboffloadmic/ 2015-11-14 Ilya Verbin <ilya.verbin@intel.com> * runtime/offload_host.cpp (task_completion_callback): New variable. (offload_proxy_task_completed_ooo): Call task_completion_callback. (__offload_register_task_callback): New function. * runtime/offload_host.h (__offload_register_task_callback): New declaration. * plugin/libgomp-plugin-intelmic.cpp (offload): Add async_data argument, handle async offloading. (register_main_image): Call register_main_image. (GOMP_OFFLOAD_init_device, get_target_table, GOMP_OFFLOAD_alloc, GOMP_OFFLOAD_free, GOMP_OFFLOAD_host2dev, GOMP_OFFLOAD_dev2host, GOMP_OFFLOAD_dev2dev) Adjust offload callers. (GOMP_OFFLOAD_async_run): New function. (GOMP_OFFLOAD_run): Implement using GOMP_OFFLOAD_async_run. From-SVN: r230381
Jakub Jelinek committed -
2015-11-14 Steven G. Kargl <kargl@gcc.gnu.org> PR fortran/67803 * array.c (gfc_match_array_constructor): If array constructor included a CHARACTER typespec, check array elements for compatible type. 2015-11-14 Steven G. Kargl <kargl@gcc.gnu.org> PR fortran/67803 * gfortran.dg/pr67803.f90: New test. From-SVN: r230379
Steven G. Kargl committed -
* testsuite/21_strings/basic_string/capacity/char/18654.cc: Use real minimum capacity. * testsuite/21_strings/basic_string/capacity/wchar_t/18654.cc: Likewise. From-SVN: r230378
Jonathan Wakely committed
-