gcc.git
8 years ago[gomp] Thread pool management
Sebastian Huber [Thu, 3 Sep 2015 11:29:59 +0000 (11:29 +0000)]
[gomp] Thread pool management

libgomp/ChangeLog

* 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().

From-SVN: r227441

8 years ago[gomp] Add RTEMS configuration
Sebastian Huber [Thu, 3 Sep 2015 11:26:36 +0000 (11:26 +0000)]
[gomp] Add RTEMS configuration

libgomp/ChangeLog

* 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
<sys/lock.h> header file.
* configure.tgt (*-*-rtems*): Enable RTEMS configuration if
supported by Newlib.
* configure: Regenerate.

From-SVN: r227440

8 years ago[gomp] Simplify thread pool initialization
Sebastian Huber [Thu, 3 Sep 2015 11:24:34 +0000 (11:24 +0000)]
[gomp] Simplify thread pool initialization

libgomp/ChangeLog

* 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.

From-SVN: r227439

8 years agoHandle 2 preds for fin_bb in expand_omp_for_static_chunk
Tom de Vries [Thu, 3 Sep 2015 11:01:22 +0000 (11:01 +0000)]
Handle 2 preds for fin_bb in expand_omp_for_static_chunk

2015-09-03  Tom de Vries  <tom@codesourcery.com>

PR tree-optimization/65637
* omp-low.c (expand_omp_for_static_chunk): Handle case that fin_bb has 2
predecessors.

* gcc.dg/autopar/reduc-4.c: New test.

From-SVN: r227438

8 years agoFix inner loop phi in expand_omp_for_static_chunk
Tom de Vries [Thu, 3 Sep 2015 11:01:14 +0000 (11:01 +0000)]
Fix inner loop phi in expand_omp_for_static_chunk

2015-09-03  Tom de Vries  <tom@codesourcery.com>

PR tree-optimization/65637
* omp-low.c (find_phi_with_arg_on_edge): New function.
(expand_omp_for_static_chunk): Fix inner loop phi.

* testsuite/libgomp.c/autopar-2.c: New test.

From-SVN: r227437

8 years agoFix gcc_assert in expand_omp_for_static_chunk
Tom de Vries [Thu, 3 Sep 2015 11:01:05 +0000 (11:01 +0000)]
Fix gcc_assert in expand_omp_for_static_chunk

2015-09-03  Tom de Vries  <tom@codesourcery.com>

PR tree-optimization/65637
* omp-low.c (expand_omp_for_static_chunk): Fix gcc_assert for the case
that head is NULL.

* gcc.dg/autopar/pr46099-2.c: New test.

From-SVN: r227436

8 years agoHandle simple latch bb in expand_omp_for_static_chunk
Tom de Vries [Thu, 3 Sep 2015 11:00:56 +0000 (11:00 +0000)]
Handle simple latch bb in expand_omp_for_static_chunk

2015-09-03  Tom de Vries  <tom@codesourcery.com>

* omp-low.c (expand_omp_for_static_chunk): Handle simple latch bb.

From-SVN: r227435

8 years agoAdd param parloops-chunk-size
Tom de Vries [Thu, 3 Sep 2015 11:00:46 +0000 (11:00 +0000)]
Add param parloops-chunk-size

2015-09-03  Tom de Vries  <tom@codesourcery.com>

* doc/invoke.texi (parloops-chunk-size): Add item.
* params.def (PARAM_PARLOOPS_CHUNK_SIZE): Add DEFPARAM.
* tree-parloops.c: Include params.h.
(create_parallel_loop): Set chunk-size of schedule of omp-for loop, if
param parloops-chunk-size is used.

From-SVN: r227434

8 years agopr67351.C: Correct the testcase name.
Naveen H.S [Thu, 3 Sep 2015 10:25:28 +0000 (10:25 +0000)]
pr67351.C: Correct the testcase name.

2015-09-03  Naveen H.S  <Naveen.Hurugalawadi@caviumnetworks.com>

* g++.dg/pr67351.C: Correct the testcase name.

From-SVN: r227433

8 years agore PR tree-optimization/67351 (Missed optimisation on 64-bit field compared to 32...
Naveen H.S [Thu, 3 Sep 2015 10:20:03 +0000 (10:20 +0000)]
re PR tree-optimization/67351 (Missed optimisation on 64-bit field compared to 32-bit)

2015-09-03  Naveen H.S  <Naveen.Hurugalawadi@caviumnetworks.com>

PR middle-end/67351

gcc/ChangeLog:
* fold-const.c (fold_binary_loc) : Move
Transform (x >> c) << c into x & (-1<<c) or
transform (x << c) >> c into x & ((unsigned)-1 >> c) for unsigned
types using simplify and match.
* match.pd (lshift (rshift @0 INTEGER_CST@1) @1) : New simplifier.
(rshift (lshift @0 INTEGER_CST@1) @1) : New Simplifier.

gcc/testsuite/ChangeLog:
* g++.dg/pr66752-2.C: New test.

From-SVN: r227432

8 years agore PR ipa/66705 (section is missing linker error with -flto -fipa-pta)
Richard Biener [Thu, 3 Sep 2015 09:24:51 +0000 (09:24 +0000)]
re PR ipa/66705 (section is missing linker error with -flto -fipa-pta)

2015-09-03  Richard Biener  <rguenther@suse.de>

PR ipa/66705
* tree-ssa-structalias.c (ctor_for_analysis): New function.
(create_variable_info_for_1): Use ctor_for_analysis instead
of get_constructor.
(create_variable_info_for): Likewise.

* g++.dg/lto/pr66705_0.C: New testcase.

From-SVN: r227430

8 years agolibstdc++: Run tests on RTEMS
Sebastian Huber [Thu, 3 Sep 2015 05:45:33 +0000 (05:45 +0000)]
libstdc++: Run tests on RTEMS

libstdc++-v3/ChangeLog

* testsuite/18_support/pthread_guard.cc: Add *-*-rtems* target
selector to all lines which contain a *-*-cygwin target selector.
* testsuite/20_util/shared_ptr/atomic/3.cc: Likewise.
* testsuite/20_util/shared_ptr/thread/default_weaktoshared.cc: Likewise.
* testsuite/20_util/shared_ptr/thread/mutex_weaktoshared.cc: Likewise.
* testsuite/21_strings/basic_string/pthread18185.cc: Likewise.
* testsuite/21_strings/basic_string/pthread33394.cc: Likewise.
* testsuite/21_strings/basic_string/pthread4.cc: Likewise.
* testsuite/22_locale/locale/cons/12658_thread-1.cc: Likewise.
* testsuite/22_locale/locale/cons/12658_thread-2.cc: Likewise.
* testsuite/23_containers/list/pthread1.cc: Likewise.
* testsuite/23_containers/list/pthread5.cc: Likewise.
* testsuite/23_containers/map/pthread6.cc: Likewise.
* testsuite/23_containers/vector/debug/multithreaded_swap.cc: Likewise.
* testsuite/27_io/basic_ofstream/pthread2.cc: Likewise.
* testsuite/27_io/basic_ostringstream/pthread3.cc: Likewise.
* testsuite/30_threads/async/42819.cc: Likewise.
* testsuite/30_threads/async/49668.cc: Likewise.
* testsuite/30_threads/async/54297.cc: Likewise.
* testsuite/30_threads/async/any.cc: Likewise.
* testsuite/30_threads/async/async.cc: Likewise.
* testsuite/30_threads/async/launch.cc: Likewise.
* testsuite/30_threads/async/lwg2021.cc: Likewise.
* testsuite/30_threads/async/sync.cc: Likewise.
* testsuite/30_threads/call_once/39909.cc: Likewise.
* testsuite/30_threads/call_once/49668.cc: Likewise.
* testsuite/30_threads/call_once/60497.cc: Likewise.
* testsuite/30_threads/call_once/call_once1.cc: Likewise.
* testsuite/30_threads/condition_variable/54185.cc: Likewise.
* testsuite/30_threads/condition_variable/cons/1.cc: Likewise.
* testsuite/30_threads/condition_variable/members/1.cc: Likewise.
* testsuite/30_threads/condition_variable/members/2.cc: Likewise.
* testsuite/30_threads/condition_variable/members/3.cc: Likewise.
* testsuite/30_threads/condition_variable/members/53841.cc: Likewise.
* testsuite/30_threads/condition_variable/native_handle/typesizes.cc:
Likewise.
* testsuite/30_threads/condition_variable_any/50862.cc: Likewise.
* testsuite/30_threads/condition_variable_any/53830.cc: Likewise.
* testsuite/30_threads/condition_variable_any/cons/1.cc: Likewise.
* testsuite/30_threads/condition_variable_any/members/1.cc: Likewise.
* testsuite/30_threads/condition_variable_any/members/2.cc: Likewise.
* testsuite/30_threads/future/cons/move.cc: Likewise.
* testsuite/30_threads/future/members/45133.cc: Likewise.
* testsuite/30_threads/future/members/get.cc: Likewise.
* testsuite/30_threads/future/members/get2.cc: Likewise.
* testsuite/30_threads/future/members/share.cc: Likewise.
* testsuite/30_threads/future/members/valid.cc: Likewise.
* testsuite/30_threads/future/members/wait.cc: Likewise.
* testsuite/30_threads/future/members/wait_for.cc: Likewise.
* testsuite/30_threads/future/members/wait_until.cc: Likewise.
* testsuite/30_threads/lock/1.cc: Likewise.
* testsuite/30_threads/lock/2.cc: Likewise.
* testsuite/30_threads/lock/3.cc: Likewise.
* testsuite/30_threads/lock/4.cc: Likewise.
* testsuite/30_threads/mutex/cons/1.cc: Likewise.
* testsuite/30_threads/mutex/dest/destructor_locked.cc: Likewise.
* testsuite/30_threads/mutex/lock/1.cc: Likewise.
* testsuite/30_threads/mutex/native_handle/1.cc: Likewise.
* testsuite/30_threads/mutex/native_handle/typesizes.cc: Likewise.
* testsuite/30_threads/mutex/try_lock/1.cc: Likewise.
* testsuite/30_threads/mutex/try_lock/2.cc: Likewise.
* testsuite/30_threads/mutex/unlock/1.cc: Likewise.
* testsuite/30_threads/mutex/unlock/2.cc: Likewise.
* testsuite/30_threads/packaged_task/49668.cc: Likewise.
* testsuite/30_threads/packaged_task/60564.cc: Likewise.
* testsuite/30_threads/packaged_task/cons/1.cc: Likewise.
* testsuite/30_threads/packaged_task/cons/2.cc: Likewise.
* testsuite/30_threads/packaged_task/cons/3.cc: Likewise.
* testsuite/30_threads/packaged_task/cons/56492.cc: Likewise.
* testsuite/30_threads/packaged_task/cons/alloc.cc: Likewise.
* testsuite/30_threads/packaged_task/cons/move.cc: Likewise.
* testsuite/30_threads/packaged_task/cons/move_assign.cc: Likewise.
* testsuite/30_threads/packaged_task/members/at_thread_exit.cc:
Likewise.
* testsuite/30_threads/packaged_task/members/get_future.cc: Likewise.
* testsuite/30_threads/packaged_task/members/get_future2.cc: Likewise.
* testsuite/30_threads/packaged_task/members/invoke.cc: Likewise.
* testsuite/30_threads/packaged_task/members/invoke2.cc: Likewise.
* testsuite/30_threads/packaged_task/members/invoke3.cc: Likewise.
* testsuite/30_threads/packaged_task/members/invoke4.cc: Likewise.
* testsuite/30_threads/packaged_task/members/invoke5.cc: Likewise.
* testsuite/30_threads/packaged_task/members/reset.cc: Likewise.
* testsuite/30_threads/packaged_task/members/reset2.cc: Likewise.
* testsuite/30_threads/packaged_task/members/swap.cc: Likewise.
* testsuite/30_threads/packaged_task/members/valid.cc: Likewise.
* testsuite/30_threads/promise/60966.cc: Likewise.
* testsuite/30_threads/promise/cons/1.cc: Likewise.
* testsuite/30_threads/promise/cons/alloc.cc: Likewise.
* testsuite/30_threads/promise/cons/move.cc: Likewise.
* testsuite/30_threads/promise/cons/move_assign.cc: Likewise.
* testsuite/30_threads/promise/members/at_thread_exit.cc: Likewise.
* testsuite/30_threads/promise/members/get_future.cc: Likewise.
* testsuite/30_threads/promise/members/get_future2.cc: Likewise.
* testsuite/30_threads/promise/members/set_exception.cc: Likewise.
* testsuite/30_threads/promise/members/set_exception2.cc: Likewise.
* testsuite/30_threads/promise/members/set_value.cc: Likewise.
* testsuite/30_threads/promise/members/set_value2.cc: Likewise.
* testsuite/30_threads/promise/members/set_value3.cc: Likewise.
* testsuite/30_threads/promise/members/swap.cc: Likewise.
* testsuite/30_threads/recursive_mutex/cons/1.cc: Likewise.
* testsuite/30_threads/recursive_mutex/dest/destructor_locked.cc:
Likewise.
* testsuite/30_threads/recursive_mutex/lock/1.cc: Likewise.
* testsuite/30_threads/recursive_mutex/native_handle/1.cc: Likewise.
* testsuite/30_threads/recursive_mutex/native_handle/typesizes.cc:
Likewise.
* testsuite/30_threads/recursive_mutex/try_lock/1.cc: Likewise.
* testsuite/30_threads/recursive_mutex/try_lock/2.cc: Likewise.
* testsuite/30_threads/recursive_mutex/unlock/1.cc: Likewise.
* testsuite/30_threads/recursive_mutex/unlock/2.cc: Likewise.
* testsuite/30_threads/recursive_timed_mutex/cons/1.cc: Likewise.
* testsuite/30_threads/recursive_timed_mutex/dest/destructor_locked.cc:
Likewise.
* testsuite/30_threads/recursive_timed_mutex/lock/1.cc: Likewise.
* testsuite/30_threads/recursive_timed_mutex/lock/2.cc: Likewise.
* testsuite/30_threads/recursive_timed_mutex/native_handle/1.cc:
Likewise.
* testsuite/30_threads/recursive_timed_mutex/native_handle/typesizes.cc:
Likewise.
* testsuite/30_threads/recursive_timed_mutex/try_lock/1.cc: Likewise.
* testsuite/30_threads/recursive_timed_mutex/try_lock/2.cc: Likewise.
* testsuite/30_threads/recursive_timed_mutex/try_lock_for/1.cc:
Likewise.
* testsuite/30_threads/recursive_timed_mutex/try_lock_for/2.cc:
Likewise.
* testsuite/30_threads/recursive_timed_mutex/try_lock_for/3.cc:
Likewise.
* testsuite/30_threads/recursive_timed_mutex/try_lock_until/1.cc:
Likewise.
* testsuite/30_threads/recursive_timed_mutex/try_lock_until/2.cc:
Likewise.
* testsuite/30_threads/recursive_timed_mutex/unlock/1.cc: Likewise.
* testsuite/30_threads/recursive_timed_mutex/unlock/2.cc: Likewise.
* testsuite/30_threads/shared_future/cons/move.cc: Likewise.
* testsuite/30_threads/shared_future/members/45133.cc: Likewise.
* testsuite/30_threads/shared_future/members/get.cc: Likewise.
* testsuite/30_threads/shared_future/members/get2.cc: Likewise.
* testsuite/30_threads/shared_future/members/valid.cc: Likewise.
* testsuite/30_threads/shared_future/members/wait.cc: Likewise.
* testsuite/30_threads/shared_future/members/wait_for.cc: Likewise.
* testsuite/30_threads/shared_future/members/wait_until.cc: Likewise.
* testsuite/30_threads/shared_lock/cons/1.cc: Likewise.
* testsuite/30_threads/shared_lock/cons/2.cc: Likewise.
* testsuite/30_threads/shared_lock/cons/3.cc: Likewise.
* testsuite/30_threads/shared_lock/cons/4.cc: Likewise.
* testsuite/30_threads/shared_lock/cons/5.cc: Likewise.
* testsuite/30_threads/shared_lock/cons/6.cc: Likewise.
* testsuite/30_threads/shared_lock/locking/1.cc: Likewise.
* testsuite/30_threads/shared_lock/locking/2.cc: Likewise.
* testsuite/30_threads/shared_lock/locking/3.cc: Likewise.
* testsuite/30_threads/shared_lock/locking/4.cc: Likewise.
* testsuite/30_threads/shared_lock/modifiers/1.cc: Likewise.
* testsuite/30_threads/shared_mutex/cons/1.cc: Likewise.
* testsuite/30_threads/shared_mutex/try_lock/1.cc: Likewise.
* testsuite/30_threads/shared_mutex/try_lock/2.cc: Likewise.
* testsuite/30_threads/shared_mutex/unlock/1.cc: Likewise.
* testsuite/30_threads/shared_timed_mutex/cons/1.cc: Likewise.
* testsuite/30_threads/shared_timed_mutex/try_lock/1.cc: Likewise.
* testsuite/30_threads/shared_timed_mutex/try_lock/2.cc: Likewise.
* testsuite/30_threads/shared_timed_mutex/try_lock/3.cc: Likewise.
* testsuite/30_threads/shared_timed_mutex/unlock/1.cc: Likewise.
* testsuite/30_threads/this_thread/1.cc: Likewise.
* testsuite/30_threads/this_thread/2.cc: Likewise.
* testsuite/30_threads/this_thread/3.cc: Likewise.
* testsuite/30_threads/this_thread/4.cc: Likewise.
* testsuite/30_threads/thread/cons/1.cc: Likewise.
* testsuite/30_threads/thread/cons/2.cc: Likewise.
* testsuite/30_threads/thread/cons/3.cc: Likewise.
* testsuite/30_threads/thread/cons/4.cc: Likewise.
* testsuite/30_threads/thread/cons/49668.cc: Likewise.
* testsuite/30_threads/thread/cons/5.cc: Likewise.
* testsuite/30_threads/thread/cons/6.cc: Likewise.
* testsuite/30_threads/thread/cons/7.cc: Likewise.
* testsuite/30_threads/thread/cons/8.cc: Likewise.
* testsuite/30_threads/thread/cons/9.cc: Likewise.
* testsuite/30_threads/thread/cons/moveable.cc: Likewise.
* testsuite/30_threads/thread/members/1.cc: Likewise.
* testsuite/30_threads/thread/members/2.cc: Likewise.
* testsuite/30_threads/thread/members/3.cc: Likewise.
* testsuite/30_threads/thread/members/4.cc: Likewise.
* testsuite/30_threads/thread/members/5.cc: Likewise.
* testsuite/30_threads/thread/members/hardware_concurrency.cc: Likewise.
* testsuite/30_threads/thread/native_handle/cancel.cc: Likewise.
* testsuite/30_threads/thread/swap/1.cc: Likewise.
* testsuite/30_threads/timed_mutex/cons/1.cc: Likewise.
* testsuite/30_threads/timed_mutex/dest/destructor_locked.cc: Likewise.
* testsuite/30_threads/timed_mutex/lock/1.cc: Likewise.
* testsuite/30_threads/timed_mutex/native_handle/1.cc: Likewise.
* testsuite/30_threads/timed_mutex/native_handle/typesizes.cc: Likewise.
* testsuite/30_threads/timed_mutex/try_lock/1.cc: Likewise.
* testsuite/30_threads/timed_mutex/try_lock/2.cc: Likewise.
* testsuite/30_threads/timed_mutex/try_lock_for/1.cc: Likewise.
* testsuite/30_threads/timed_mutex/try_lock_for/2.cc: Likewise.
* testsuite/30_threads/timed_mutex/try_lock_for/3.cc: Likewise.
* testsuite/30_threads/timed_mutex/try_lock_until/1.cc: Likewise.
* testsuite/30_threads/timed_mutex/try_lock_until/2.cc: Likewise.
* testsuite/30_threads/timed_mutex/try_lock_until/57641.cc: Likewise.
* testsuite/30_threads/timed_mutex/unlock/1.cc: Likewise.
* testsuite/30_threads/timed_mutex/unlock/2.cc: Likewise.
* testsuite/30_threads/try_lock/1.cc: Likewise.
* testsuite/30_threads/try_lock/2.cc: Likewise.
* testsuite/30_threads/try_lock/3.cc: Likewise.
* testsuite/30_threads/try_lock/4.cc: Likewise.
* testsuite/30_threads/unique_lock/cons/1.cc: Likewise.
* testsuite/30_threads/unique_lock/cons/2.cc: Likewise.
* testsuite/30_threads/unique_lock/cons/3.cc: Likewise.
* testsuite/30_threads/unique_lock/cons/4.cc: Likewise.
* testsuite/30_threads/unique_lock/cons/5.cc: Likewise.
* testsuite/30_threads/unique_lock/cons/6.cc: Likewise.
* testsuite/30_threads/unique_lock/locking/1.cc: Likewise.
* testsuite/30_threads/unique_lock/locking/2.cc: Likewise.
* testsuite/30_threads/unique_lock/locking/3.cc: Likewise.
* testsuite/30_threads/unique_lock/locking/4.cc: Likewise.
* testsuite/30_threads/unique_lock/modifiers/1.cc: Likewise.
* testsuite/ext/rope/pthread7-rope.cc: Likewise.
* testsuite/tr1/2_general_utilities/shared_ptr/thread/default_weaktoshared.cc:
Likewise.
* testsuite/tr1/2_general_utilities/shared_ptr/thread/mutex_weaktoshared.cc:
Likewise.

From-SVN: r227429

8 years agoRTEMS: Update RTEMS thread model
Sebastian Huber [Thu, 3 Sep 2015 05:28:46 +0000 (05:28 +0000)]
RTEMS: Update RTEMS thread model

libgcc/ChangeLog

* config/gthr-rtems.h (__GTHREADS_CXX0X): New.
(__GTHREAD_HAS_COND): Likewise.
(__gthread_t): Likewise.
(__gthread_cond_t): Likewise.
(__gthread_time_t): Likewise.
(__GTHREAD_MUTEX_INIT): Likewise.
(__GTHREAD_RECURSIVE_MUTEX_INIT): Likewise.
(__GTHREAD_COND_INIT): Likewise.
(__GTHREAD_COND_INIT_FUNCTION): Likewise.
(__GTHREAD_TIME_INIT): Likewise.
(__gthread_create): Likewise.
(__gthread_join): Likewise.
(__gthread_detach): Likewise.
(__gthread_equal): Likewise.
(__gthread_self): Likewise.
(__gthread_yield): Likewise.
(__gthread_cond_broadcast): Likewise.
(__gthread_cond_signal): Likewise.
(__gthread_cond_wait): Likewise.
(__gthread_cond_timedwait): Likewise.
(__gthread_cond_wait_recursive): Likewise.
(__gthread_cond_destroy): Likewise.
(rtems_gxx_once): Delete.
(rtems_gxx_key_create): Likewise.
(rtems_gxx_key_delete): Likewise.
(rtems_gxx_getspecific): Likewise.
(rtems_gxx_setspecific): Likewise.
(rtems_gxx_mutex_init): Likewise.
(rtems_gxx_mutex_destroy): Likewise.
(rtems_gxx_mutex_lock): Likewise.
(rtems_gxx_mutex_trylock): Likewise.
(rtems_gxx_mutex_unlock): Likewise.
(rtems_gxx_recursive_mutex_init): Likewise.
(rtems_gxx_recursive_mutex_lock): Likewise.
(rtems_gxx_recursive_mutex_trylock): Likewise.
(rtems_gxx_recursive_mutex_unlock): Likewise.
(__GTHREAD_ONCE_INIT): Use <pthread.h> initializer.
(__GTHREAD_MUTEX_INIT_FUNCTION): Use <pthread.h> function.
(__GTHREAD_RECURSIVE_MUTEX_INIT_FUNCTION): Likewise.
(__gthread_once): Likewise.
(__gthread_key_create): Likewise.
(__gthread_key_delete): Likewise.
(__gthread_getspecific): Likewise.
(__gthread_setspecific): Likewise.
(__gthread_key_t): Use <pthread.h> type.
(__gthread_once_t): Likewise
(__gthread_mutex_t): Use <sys/lock.h> type.
(__gthread_recursive_mutex_t): Likewise
(__gthread_mutex_lock): Use <sys/lock.h> function.
(__gthread_mutex_trylock): Likewise.
(__gthread_mutex_timedlock): Likewise.
(__gthread_mutex_unlock): Likewise.
(__gthread_mutex_destroy): Likewise.
(__gthread_recursive_mutex_lock): Likewise.
(__gthread_recursive_mutex_trylock): Likewise.
(__gthread_recursive_mutex_timedlock): Likewise.
(__gthread_recursive_mutex_unlock): Likewise.
(__gthread_recursive_mutex_destroy): Likewise.

From-SVN: r227428

8 years agocompiler: Report invalid receiver types in function definitions.
Ian Lance Taylor [Thu, 3 Sep 2015 04:33:32 +0000 (04:33 +0000)]
compiler: Report invalid receiver types in function definitions.

    Fixes golang/go#12324.

    Reviewed-on: https://go-review.googlesource.com/13988

From-SVN: r227427

8 years agoDaily bump.
GCC Administrator [Thu, 3 Sep 2015 00:16:16 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r227426

8 years agoFix spawned function with lambda function
Balaji V. Iyer [Wed, 2 Sep 2015 23:59:21 +0000 (23:59 +0000)]
Fix spawned function with lambda function

Make sure that the spawned function's arguments will not be pushed
into lambda function.

gcc/c-family/

2015-09-02  Balaji V. Iyer  <balaji.v.iyer@intel.com>

PR middle-end/60586
* c-common.h (cilk_gimplify_call_params_in_spawned_fn): New
prototype.
* c-gimplify.c (c_gimplify_expr): Added a call to the function
cilk_gimplify_call_params_in_spawned_fn.
* cilk.c (cilk_gimplify_call_params_in_spawned_fn): New function.
(gimplify_cilk_spawn): Removed EXPR_STMT and CLEANUP_POINT_EXPR
unwrapping.

gcc/cp/

2015-09-02  Balaji V. Iyer  <balaji.v.iyer@intel.com>

PR middle-end/60586
* cp-gimplify.c (cilk_cp_gimplify_call_params_in_spawned_fn): New
function.
(cp_gimplify_expr): Added a call to the function
cilk_cp_gimplify_call_params_in_spawned_fn.

gcc/testsuite/

2015-09-02  Balaji V. Iyer  <balaji.v.iyer@intel.com>

PR middle-end/60586
* c-c++-common/cilk-plus/CK/pr60586.c: New file.
* g++.dg/cilk-plus/CK/pr60586.cc: Likewise.

From-SVN: r227423

8 years agore PR c/67432 (Improve error message on empty enum)
Marek Polacek [Wed, 2 Sep 2015 21:00:38 +0000 (21:00 +0000)]
re PR c/67432 (Improve error message on empty enum)

PR c/67432
* c-parser.c (c_parser_enum_specifier): Give a better error for
an empty enum.

* gcc.dg/pr67432.c: New test.

From-SVN: r227421

8 years agocompiler: Mark erroneous constants as invalid.
Ian Lance Taylor [Wed, 2 Sep 2015 20:52:42 +0000 (20:52 +0000)]
compiler: Mark erroneous constants as invalid.

    When the compiler failed to evaluate a numeric constant because
    because it was erroneous, there was no way for parent nodes to
    discover the error and lower themselves into error nodes.  This patch
    now uses the NC_INVALID enumerator to mark numeric constants with a
    known, reported error.

    Fixes golang/go#11541.

    Reviewed-on: https://go-review.googlesource.com/13904

From-SVN: r227420

8 years agocgraphunit.c (cgraph_node::create_wrapper): Set can_throw_external in new callgraph...
Charles Baylis [Wed, 2 Sep 2015 15:24:54 +0000 (15:24 +0000)]
cgraphunit.c (cgraph_node::create_wrapper): Set can_throw_external in new callgraph edge.

gcc/Changelog

        * cgraphunit.c (cgraph_node::create_wrapper): Set can_throw_external
        in new callgraph edge.

From-SVN: r227407

8 years agoPR 67414 Better diagnostics on backtrace failure, gf_strerror bugfix
Janne Blomqvist [Wed, 2 Sep 2015 14:51:40 +0000 (17:51 +0300)]
PR 67414 Better diagnostics on backtrace failure, gf_strerror bugfix

2015-09-02  Janne Blomqvist  <jb@gcc.gnu.org>

PR libfortran/67414
* io/write.c (gfc_itoa): Move to runtime/string.c.
* libgfortran.h (show_backtrace): Make arg bool.
(gfc_itoa): New prototype.
* runtime/backtrace.c (struct mystate): Change type of try_simple
field, add in_signal_handler field.
(error_callback): Print out error number, or if not in a signal
handler, the error message.
(show_backtrace): Change type of arg, change initialization of
struct mystate.
(backtrace): Call show_backtrace with correct arg type.
* runtime/compile_options.c (backtrace_handler): Call with correct
arg type.
* runtime/error.c (sys_abort): Likewise.
(gf_strerror): Handle newlocale() failure.
* runtime/string.c (gfc_itoa): Function moved here from
io/write.c.

From-SVN: r227404

8 years agolibstdc++: fix data races in basic_string implementation
Dmitry Vyukov [Wed, 2 Sep 2015 14:35:20 +0000 (07:35 -0700)]
libstdc++: fix data races in basic_string implementation

        * include/bits/basic_string.h: Fix data races on _M_refcount.

From-SVN: r227403

8 years ago[AArch64_be] Fix vldX/vstX AdvSIMD intrinsics.
Christophe Lyon [Wed, 2 Sep 2015 14:04:22 +0000 (14:04 +0000)]
[AArch64_be] Fix vldX/vstX AdvSIMD intrinsics.

2015-09-02  Christophe Lyon  <christophe.lyon@linaro.org>

PR target/59810
PR target/63652
PR target/63653
* config/aarch64/aarch64-simd.md
(aarch64_ld<VSTRUCT:nregs><VQ:mode>): Call
gen_aarch64_simd_ld<VSTRUCT:nregs><VQ:mode>.
(aarch64_st<VSTRUCT:nregs><VQ:mode>): Call
gen_aarch64_simd_st<VSTRUCT:nregs><VQ:mode>.

From-SVN: r227402

8 years ago[testsuite] Clean up effective_target cache.
Christophe Lyon [Wed, 2 Sep 2015 14:01:51 +0000 (14:01 +0000)]
[testsuite] Clean up effective_target cache.

2015-09-02  Christophe Lyon  <christophe.lyon@linaro.org>

* lib/target-supports.exp (clear_effective_target_cache): New.
(check_cached_effective_target): Update et_prop_list.
* lib/asan-dg.exp (asan_finish): Call clear_effective_target_cache.
* g++.dg/compat/compat.exp: Likewise.
* g++.dg/compat/struct-layout-1.exp: Likewise.
* lib/asan-dg.exp: Likewise.
* lib/atomic-dg.exp: Likewise.
* lib/cilk-plus-dg.exp: Likewise.
* lib/clearcap.exp: Likewise.
* lib/mpx-dg.exp: Likewise.
* lib/tsan-dg.exp: Likewise.
* lib/ubsan-dg.exp: Likewise.

From-SVN: r227401

8 years agore PR libstdc++/67408 (<mutex> assumes that __gthread_mutex_t and__gthread_recursive_...
Sebastian Huber [Wed, 2 Sep 2015 10:51:14 +0000 (10:51 +0000)]
re PR libstdc++/67408 (<mutex> assumes that __gthread_mutex_t and__gthread_recursive_mutex_t are the same types)

2015-09-02  Sebastian Huber  <sebastian.huber@embedded-brains.de>

PR libstdc++/67408
* include/std/mutex (__timed_mutex_impl::_M_try_lock_until): Use
_Derived::_M_timedlock().
(timed_mutex): Add _M_timedlock() and make base class a friend.
(recursive_timed_mutex): Likewise.

From-SVN: r227400

8 years ago[RS6000] Don't pass --oformat to ld
Alan Modra [Wed, 2 Sep 2015 07:58:03 +0000 (17:28 +0930)]
[RS6000] Don't pass --oformat to ld

ld -m options select a particular ld emulation (e*.c files in ld build
dir) which provides a compiled-in scripts or select a script from
ldscripts/.  Each of these has an OUTPUT_FORMAT statement, which does
the same thing as --oformat.  --oformat is therefore redundant when
using GNU ld built this century, except possibly when overriding the
default ld scripts with -T.

* config/rs6000/sysv4le.h (LINK_TARGET_SPEC): Don't define.
* config/rs6000/sysv4.h (LINK_TARGET_SPEC): Likewise.
(LINK_SPEC, SUBTARGET_EXTRA_SPECS): Delete link_target.

From-SVN: r227397

8 years agocompiler: Accept out of range integer -> unicode conversions.
Ian Lance Taylor [Wed, 2 Sep 2015 00:46:23 +0000 (00:46 +0000)]
compiler: Accept out of range integer -> unicode conversions.

    When converting a signed or unsigned integer value into a constant
    string, if the integer does not fit into the Go "int" type, the string
    will become "\uFFFD."

    Fixes golang/go#11525.

    Reviewed-on: https://go-review.googlesource.com/13906

From-SVN: r227395

8 years agoDaily bump.
GCC Administrator [Wed, 2 Sep 2015 00:16:12 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r227394

8 years agofixed misplaced testcase
Kenneth Zadeck [Tue, 1 Sep 2015 23:37:20 +0000 (23:37 +0000)]
fixed misplaced testcase

From-SVN: r227390

8 years ago[RS6000] Weak functions may not be file local
Alan Modra [Tue, 1 Sep 2015 23:03:19 +0000 (08:33 +0930)]
[RS6000] Weak functions may not be file local

A weak symbol defined in the current object file may not turn out to
be the definition used at link time, if other copies of the symbol
exist.  This means they can't be considered file local.

PR target/67417
* config/rs6000/predicates.md (current_file_function_operand): Don't
return true for weak symbols.
* config/rs6000/rs6000.c (rs6000_function_ok_for_sibcall): Likewise.

From-SVN: r227386

8 years agoMIPS compact branch support
Matthew Fortune [Tue, 1 Sep 2015 22:41:08 +0000 (22:41 +0000)]
MIPS compact branch support

gcc/
* config/mips/mips-opts.h (mips_cb_setting): New enum.
* config/mips/mips-protos.h: Add definitions for
mips_output_jump and mips_output_equal_conditional_branch
* gcc/config/mips/mips.c (MIPS_JR): Change to support the
JIC instruction.
(mips_emit_compare): Add support for the MIPS R6 conditional
compact branches.
(mips_process_sync_loop): Likewise.
(mips_output_order_conditional_branch): Likewise.
(mips16_build_call_stub): Change MIPS_CALL to
mips_output_jump.
(mips_print_operand_punctuation): Update 's' case to only
apply to micromips r2.
(mips_adjust_insn_length): Add support for forbidden slot
hazards.
(mips_avoid_hazard): Likewise.
(mips_reorg_process_insns): Likewise.
(mips_output_jump): New function.
(mips_output_equal_conditional_branch): Likewise.
(mips_output_conditional_branch): Use jrc/bc if compact
branch support is enabled.  Ensure the forbidden slots
between the two branch instructions is filled with a nop.
(mips_option_override): Add support to process the compact
branch option and set the correct defaults.  Prevent
non-explict relocs being using for MIPS R6.
(mips_trampoline_init): Add compact branch support.
(mips_mult_zero_zero_cost): Allow zero initialisation of
accumulators with TARGET_DSP.
* gcc/config/mips/mips.h (TARGET_CB_NEVER): New define.
(TARGET_CB_MAYBE): New define.
(TARGET_CB_ALWAYS): New define.
(ISA_HAS_DELAY_SLOTS): New define.
(ISA_HAS_COMPACT_BRANCHES): New define.
(ISA_HAS_JRC): New define.
(MIPS_BRANCH_C): New define.
(MIPS_CALL): Removed.
(MICROMIPS_J): Removed.
* config/mips/mips.md (compact_form): New attr.
(hazard): Add support for forbidden slots.
(define_delay): Add support for compact branches.
(*branch_order<mode>): Likewise.
(*branch_order<mode>_inverted): Likewise.
(*branch_equality<mode>): Likewise.
(*branch_equality<mode>_inverted): Likewise.
(*jump_absolute): Likewise.
(*jump_pic): Likewise.
(indirect_jump): Use mips_output_jump to produce assembly output.
(tablejump_<mode>"): Likewise.
(*<optab>"): Likewise.
(<optab>_internal): Likewise.
(sibcall_internal): Likewise.
(sibcall_value_internal): Likewise.
(sibcall_value_multiple_internal): Likewise.
(call_internal): Likewise.
(call_split): Likewise.
(call_internal_direct): Likewise.
(call_direct_split): Likewise.
(call_value_internal): Likewise.
(call_value_split): Likewise.
(call_value_internal_direct): Likewise.
(call_value_direct_split): Likewise.
(call_value_multiple_internal): Likewise.
(call_value_multiple_split): Likewise.
(mips_get_fcsr_mips16_<mode>): Likewise.
(mips_set_fcsr_mips16_<mode>): Likewise.
(tls_get_tp_mips16_<mode>): Likewise.
* config/mips/mips.opt: Add -mcompact-branches option.
* config/mips/predicates.md (order_operator): Ensure the
conditional compact branches are only used if the ISA them.
* doc/invoke.texi: Document -mcompact-branches option.

gcc/testsuite/
* gcc.target/mips/mips.exp (mips-dg-options): Handle the
dependencies between ISA level and compact-branches.
* gcc.target/mips/branch-10.c: Update expected output to allow
compact forms of b/bal.
* gcc.target/mips/branch-11.c: Likewise.
* gcc.target/mips/branch-12.c: Likewise.
* gcc.target/mips/branch-13.c: Likewise.
* gcc.target/mips/branch-3.c: Likewise.
* gcc.target/mips/branch-4.c: Likewise.
* gcc.target/mips/branch-5.c: Likewise.
* gcc.target/mips/branch-6.c: Likewise.
* gcc.target/mips/branch-7.c: Likewise.
* gcc.target/mips/branch-8.c: Likewise.
* gcc.target/mips/branch-9.c: Likewise.
* gcc.target/mips/branch-cost-1.c: Likewise.
* gcc.target/mips/call-1.c: Likewise.
* gcc.target/mips/call-2.c: Likewise.
* gcc.target/mips/call-3.c: Likewise.
* gcc.target/mips/call-4.c: Likewise.
* gcc.target/mips/call-5.c: Likewise.
* gcc.target/mips/call-6.c: Likewise.
* gcc.target/mips/lazy-binding-1.c: Likewise.
* gcc.target/mips/near-far-1.c: Likewise.
* gcc.target/mips/near-far-2.c: Likewise.
* gcc.target/mips/near-far-3.c: Likewise.
* gcc.target/mips/near-far-4.c: Likewise.
* gcc.target/mips/umips-branch-3.c: Ensure the test is
run with compact branches allowed.
* gcc.target/mips/compact-branches-1.c: New file.
* gcc.target/mips/compact-branches-2.c: Likewise.
* gcc.target/mips/compact-branches-3.c: Likewise.
* gcc.target/mips/compact-branches-4.c: Likewise.
* gcc.target/mips/compact-branches-5.c: Likewise.
* gcc.target/mips/compact-branches-6.c: Likewise.
* gcc.target/mips/compact-branches-7.c: Likewise.

Co-Authored-By: Andrew Bennett <andrew.bennett@imgtec.com>
From-SVN: r227385

8 years ago* MAINTAINERS: add myself
James Bowman [Tue, 1 Sep 2015 19:38:16 +0000 (19:38 +0000)]
* MAINTAINERS: add myself

From-SVN: r227383

8 years agore PR target/61578 (Code size increase for ARM thumb compared to 4.8.x when compiling...
Vladimir Makarov [Tue, 1 Sep 2015 19:37:52 +0000 (19:37 +0000)]
re PR target/61578 (Code size increase for ARM thumb compared to 4.8.x when compiling with -Os)

2015-09-01  Vladimir Makarov  <vmakarov@redhat.com>

PR target/61578
* lra-lives.c (process_bb_lives): Process move pseudos with the
same value for copies and preferences
* lra-constraints.c (match_reload): Create match reload pseudo
with the same value from single dying input pseudo.

From-SVN: r227382

8 years agoread_dir.f90: XFAIL this testcase on FreeBSD.
Steven G. Kargl [Tue, 1 Sep 2015 18:06:10 +0000 (18:06 +0000)]
read_dir.f90: XFAIL this testcase on FreeBSD.

2015-09-01  Steven G. Kargl  <kargl@gcc.gnu.org>

* gfortran.dg/read_dir.f90: XFAIL this testcase on FreeBSD.
Clean-up a created directory if testcase fails.

From-SVN: r227381

8 years agore PR target/67405 (ICE on invalid use of struct on x86_64-linux-gnu)
Ilya Enkovich [Tue, 1 Sep 2015 14:38:42 +0000 (14:38 +0000)]
re PR target/67405 (ICE on invalid use of struct on x86_64-linux-gnu)

gcc/

PR target/67405
* tree-chkp.c (chkp_find_bound_slots_1): Add NULL check.

gcc/testsuite/

PR target/67405
* g++.dg/pr67405.C: New test.

From-SVN: r227373

8 years ago+ * trans-mem.c: Add contributed-by.
Aldy Hernandez [Tue, 1 Sep 2015 13:52:09 +0000 (13:52 +0000)]
+ * trans-mem.c: Add contributed-by.

+       * trans-mem.c: Add contributed-by.
+       * trans-mem.h: Same.

From-SVN: r227372

8 years agoDon't xfail gcc.dg/vect/no-scevccp-outer-11.c
Rainer Orth [Tue, 1 Sep 2015 13:48:29 +0000 (13:48 +0000)]
Don't xfail gcc.dg/vect/no-scevccp-outer-11.c

* gcc.dg/vect/no-scevccp-outer-11.c: Don't xfail scan-tree-dump-times.

From-SVN: r227371

8 years agoexpr.c (expand_expr_real_1): For expanding TERed defs set the current location to...
Richard Biener [Tue, 1 Sep 2015 13:27:17 +0000 (13:27 +0000)]
expr.c (expand_expr_real_1): For expanding TERed defs set the current location to that of the def if not UNKNOWN.

2015-09-01  Richard Biener  <rguenther@suse.de>

* expr.c (expand_expr_real_1): For expanding TERed defs
set the current location to that of the def if not UNKNOWN.

From-SVN: r227370

8 years agogenmodes.c: Add CONST_MODE_UNIT_SIZE modifier.
David Sherwood [Tue, 1 Sep 2015 12:40:10 +0000 (12:40 +0000)]
genmodes.c: Add CONST_MODE_UNIT_SIZE modifier.

2015-09-01  David Sherwood  <david.sherwood@arm.com>

    gcc/
* genmodes.c: Add CONST_MODE_UNIT_SIZE modifier.

From-SVN: r227369

8 years ago[RTL-ifcvt] Make non-conditional execution if-conversion more aggressive
Kyrylo Tkachov [Tue, 1 Sep 2015 12:33:51 +0000 (12:33 +0000)]
[RTL-ifcvt] Make non-conditional execution if-conversion more aggressive

* ifcvt.c (struct noce_if_info): Add then_simple, else_simple,
then_cost, else_cost fields.  Change branch_cost field to unsigned
int.
(end_ifcvt_sequence): Call set_used_flags on each insn in the
sequence.
Include rtl-iter.h.
(noce_simple_bbs): New function.
(noce_try_move): Bail if basic blocks are not simple.
(noce_try_store_flag): Likewise.
(noce_try_store_flag_constants): Likewise.
(noce_try_addcc): Likewise.
(noce_try_store_flag_mask): Likewise.
(noce_try_cmove): Likewise.
(noce_try_minmax): Likewise.
(noce_try_abs): Likewise.
(noce_try_sign_mask): Likewise.
(noce_try_bitop): Likewise.
(bbs_ok_for_cmove_arith): New function.
(noce_emit_all_but_last): Likewise.
(noce_emit_insn): Likewise.
(noce_emit_bb): Likewise.
(noce_try_cmove_arith): Handle non-simple basic blocks.
(insn_valid_noce_process_p): New function.
(contains_mem_rtx_p): Likewise.
(bb_valid_for_noce_process_p): Likewise.
(noce_process_if_block): Allow non-simple basic blocks
where appropriate.

* gcc.dg/ifcvt-1.c: New test.
* gcc.dg/ifcvt-2.c: Likewise.
* gcc.dg/ifcvt-3.c: Likewise.

From-SVN: r227368

8 years agoXFAIL gfortran.dg/execute_command_line_2.f90 (PR libfortran/67412)
Rainer Orth [Tue, 1 Sep 2015 11:50:19 +0000 (11:50 +0000)]
XFAIL gfortran.dg/execute_command_line_2.f90 (PR libfortran/67412)

PR libfortran/67412
* gfortran.dg/execute_command_line_2.f90: XFAIL execution on
*-*-solaris2.10.

From-SVN: r227367

8 years agoTidy tree-ssa-dom.c: Use dom_valueize more.
Alan Lawrence [Tue, 1 Sep 2015 10:51:43 +0000 (10:51 +0000)]
Tidy tree-ssa-dom.c: Use dom_valueize more.

* tree-ssa-dom.c (record_equivalences_from_phis,
record_equivalences_from_stmt, optimize_stmt): Use dom_valueize.
(lookup_avail_expr): Likewise, and remove comment and unused temp.

From-SVN: r227366

8 years ago* config/msp430/msp430.opt (mcpu): Fix typo.
Nick Clifton [Tue, 1 Sep 2015 10:38:17 +0000 (10:38 +0000)]
* config/msp430/msp430.opt (mcpu): Fix typo.

From-SVN: r227364

8 years ago[AArch64] Fix FAIL: gcc.target/aarch64/target_attr_crypto_ice_1.c (internal compiler...
Kyrylo Tkachov [Tue, 1 Sep 2015 10:32:24 +0000 (10:32 +0000)]
[AArch64] Fix FAIL: gcc.target/aarch64/target_attr_crypto_ice_1.c (internal compiler error)

* config/aarch64/aarch64.c (aarch64_set_current_function):
Re-layout any vector parameters have non-simd layout.
* config/aarch64/aarch64-builtins.c (aarch64_relayout_simd_param):
Delete.
(aarch64_simd_expand_args): Delete call to the above.

* gcc.target/aarch64/target_attr_crypto_ice_2.c: New test.

From-SVN: r227363

8 years agore PR c++/61753 (poor diagnostic for constructor definition that starts with 'const')
Paolo Carlini [Tue, 1 Sep 2015 08:39:47 +0000 (08:39 +0000)]
re PR c++/61753 (poor diagnostic for constructor definition that starts with 'const')

/cp
2015-09-01  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/61753
* decl.c (smallest_type_quals_location): New.
(check_special_function_return_type): Use the latter; add int and
const location_t* parameters.
(grokdeclarator): Adjust check_special_function_return_type call.

/testsuite
2015-09-01  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/61753
* g++.dg/other/pr61753.C: New.

From-SVN: r227361

8 years agogcc: doc: add missing space in asan-stack desc
Mike Frysinger [Tue, 1 Sep 2015 01:04:29 +0000 (01:04 +0000)]
gcc: doc: add missing space in asan-stack desc

From-SVN: r227360

8 years agoDaily bump.
GCC Administrator [Tue, 1 Sep 2015 00:16:12 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r227359

8 years agoUpdate my e-mail address.
James Lemke [Mon, 31 Aug 2015 16:15:01 +0000 (16:15 +0000)]
Update my e-mail address.

From-SVN: r227352

8 years agoconfigure.ac: For spu-*-* targets, set have_fcntl to no.
Ulrich Weigand [Mon, 31 Aug 2015 14:03:34 +0000 (14:03 +0000)]
configure.ac: For spu-*-* targets, set have_fcntl to no.

* configure.ac: For spu-*-* targets, set have_fcntl to no.
* configure: Regenerate.

From-SVN: r227348

8 years agore PR fortran/47571 (undefined reference to clock_gettime in Linux build of 02/01...
Francois-Xavier Coudert [Mon, 31 Aug 2015 14:02:43 +0000 (14:02 +0000)]
re PR fortran/47571 (undefined reference to clock_gettime in Linux build of 02/01/2011)

PR libfortran/47571
* acinclude.m4 (LIBGFOR_GTHREAD_WEAK): Reinstate.
* configure.ac: Call LIBGFOR_GTHREAD_WEAK again.
* config.h.in: Regenerate.
* configure: Regenerate.

From-SVN: r227347

8 years agoMove some comparison simplifications to match.pd
Marc Glisse [Mon, 31 Aug 2015 14:02:00 +0000 (16:02 +0200)]
Move some comparison simplifications to match.pd

2015-08-31  Marc Glisse  <marc.glisse@inria.fr>

gcc/
* tree.h (zerop): New function.
* tree.c (zerop): Likewise.
(element_precision): Handle expressions.
* match.pd (define_predicates): Add zerop.
(x <= +Inf): Fix comment.
(abs (x) == 0, A & C == C, A & C != 0): Converted from ...
* fold-const.c (fold_binary_loc): ... here. Remove.

gcc/testsuite/
* gcc.dg/tree-ssa/cmp-1.c: New file.

From-SVN: r227346

8 years agolto.c (compare_tree_sccs_1): Compare DECL_ABSTRACT_ORIGIN.
Richard Biener [Mon, 31 Aug 2015 14:01:45 +0000 (14:01 +0000)]
lto.c (compare_tree_sccs_1): Compare DECL_ABSTRACT_ORIGIN.

2015-08-31  Richard Biener  <rguenther@suse.de>

lto/
* lto.c (compare_tree_sccs_1): Compare DECL_ABSTRACT_ORIGIN.
* lto-symtab.c (lto_symtab_merge): Merge DECL_POSSIBLY_INLINED flag.
(lto_symtab_prevailing_decl): Do not replace a decl that didn't
participate in merging with something else.

From-SVN: r227345

8 years agore PR tree-optimization/67381 (genmatch does not honor the order of patterns)
Richard Biener [Mon, 31 Aug 2015 14:00:16 +0000 (14:00 +0000)]
re PR tree-optimization/67381 (genmatch does not honor the order of patterns)

2015-08-31  Richard Biener  <rguenther@suse.de>

PR middle-end/67381
* genmatch.c (dt_node::gen_kids): Also treat matches as barrier.

From-SVN: r227344

8 years agoMove some complex simplifications to match.pd
Marc Glisse [Mon, 31 Aug 2015 13:58:03 +0000 (15:58 +0200)]
Move some complex simplifications to match.pd

2015-08-31  Marc Glisse  <marc.glisse@inria.fr>

gcc/
* match.pd (SIN, COS, TAN, COSH): Reorder for consistency.
(CEXPI): New operator list.
(real (conj (x)), imag (conj (x)), real (x +- y), real (cexpi (x)),
imag (cexpi (x)), conj (conj (x)), conj (complex (x, y))):
Converted from ...
* fold-const.c (fold_unary_loc, fold_binary_loc): ... here. Remove.

gcc/testsuite/
* gcc.dg/tree-ssa/complex-7.c: New file.

From-SVN: r227343

8 years agoReimplement rewrite_virtuals_into_loop_closed_ssa
Tom de Vries [Mon, 31 Aug 2015 13:48:29 +0000 (13:48 +0000)]
Reimplement rewrite_virtuals_into_loop_closed_ssa

2015-08-31  Tom de Vries  <tom@codesourcery.com>

* tree-ssa-loop-manip.c (find_uses_to_rename_stmt)
(find_uses_to_rename_bb, find_uses_to_rename): Add and handle use_flags
parameter.
(find_uses_to_rename_def, find_uses_to_rename_in_loop): New function.
(rewrite_into_loop_closed_ssa_1): New function, factored out of ...
(rewrite_into_loop_closed_ssa): ... here.
(replace_uses_in_dominated_bbs): Remove function.
(rewrite_virtuals_into_loop_closed_ssa): Reimplement using
rewrite_into_loop_closed_ssa_1.

From-SVN: r227342

8 years agocfganal.c (pre_and_rev_post_order_compute_fn): Correctly enter entry and exit blocks...
Michael Matz [Mon, 31 Aug 2015 13:45:48 +0000 (13:45 +0000)]
cfganal.c (pre_and_rev_post_order_compute_fn): Correctly enter entry and exit blocks for reverse post order.

* cfganal.c (pre_and_rev_post_order_compute_fn): Correctly
enter entry and exit blocks for reverse post order.

From-SVN: r227341

8 years agolto-symtab.c (lto_symtab_prevailing_decl): Remove redundant test, do not replace...
Richard Biener [Mon, 31 Aug 2015 11:48:11 +0000 (11:48 +0000)]
lto-symtab.c (lto_symtab_prevailing_decl): Remove redundant test, do not replace a non-builtin with a builtin.

2015-08-31  Richard Biener  <rguenther@suse.de>

lto/
* lto-symtab.c (lto_symtab_prevailing_decl): Remove redundant
test, do not replace a non-builtin with a builtin.
* lto.c (compare_tree_sccs_1): Do not merge things we stream
as builtins vs. non-builtins.

From-SVN: r227339

8 years agolto-streamer.h (lto_location_cache::cached_location::sysp): Add.
Richard Biener [Mon, 31 Aug 2015 11:47:30 +0000 (11:47 +0000)]
lto-streamer.h (lto_location_cache::cached_location::sysp): Add.

2015-08-31  Richard Biener  <rguenther@suse.de>

* lto-streamer.h (lto_location_cache::cached_location::sysp): Add.
(lto_location_cache::current_sysp): Likewise.
(output_block::current_sysp): Likewise.
* lto-streamer-in.c (lto_location_cache::cmp_loc): Compare sysp.
(lto_location_cache::apply_location_cache): Properly record
system header locations.
(lto_location_cache::input_location): Input whether a file
is a system header.
* lto-streamer-out.c (lto_output_location): Stream whether a file
is a system header.

From-SVN: r227338

8 years agoAvoid strndup in gcc.c (PR bootstrap/67363)
Rainer Orth [Mon, 31 Aug 2015 11:19:42 +0000 (11:19 +0000)]
Avoid strndup in gcc.c (PR bootstrap/67363)

PR bootstrap/67363
* gcc.c (env_manager::xput): Replace strndup by xstrndup.

From-SVN: r227337

8 years agore PR fortran/54833 (Don't wrap __builtin_free(a) in if (a != NULL))
Francois-Xavier Coudert [Mon, 31 Aug 2015 10:54:36 +0000 (10:54 +0000)]
re PR fortran/54833 (Don't wrap __builtin_free(a) in if (a != NULL))

PR fortran/54833
* trans.c (gfc_call_free): Don't check if pointer is NULL.
* trans.h (gfc_call_free): Adjust comment.

From-SVN: r227336

8 years agore PR fortran/47571 (undefined reference to clock_gettime in Linux build of 02/01...
Francois-Xavier Coudert [Mon, 31 Aug 2015 10:37:30 +0000 (10:37 +0000)]
re PR fortran/47571 (undefined reference to clock_gettime in Linux build of 02/01/2011)

PR libfortran/47571
* acinclude.m4 (LIBGFOR_GTHREAD_WEAK): Remove.
(LIBGFOR_CHECK_WEAKREF): New test.
* configure.ac: Call LIBGFOR_CHECK_WEAKREF instead of
LIBGFOR_GTHREAD_WEAK.
* config.h.in: Regenerate.
* configure: Regenerate.
* intrinsics/system_clock.c: Use SUPPORTS_WEAKREF instead of
SUPPORTS_WEAK and GTHREAD_USE_WEAK.

From-SVN: r227335

8 years agoImprove function header comments in tree-ssa-loop-manip.c
Tom de Vries [Mon, 31 Aug 2015 09:12:15 +0000 (09:12 +0000)]
Improve function header comments in tree-ssa-loop-manip.c

2015-08-31  Tom de Vries  <tom@codesourcery.com>

* tree-ssa-loop-manip.c (find_uses_to_rename_use)
(find_uses_to_rename_stmt, find_uses_to_rename_bb, find_uses_to_rename):
Improve function header comments.

From-SVN: r227334

8 years agoRename [su]sum_widen to widen_[su]sum to reflect correct standard names.
Michael Collison [Mon, 31 Aug 2015 03:19:48 +0000 (03:19 +0000)]
Rename [su]sum_widen to widen_[su]sum to reflect correct standard names.

From-SVN: r227333

8 years agocompiler: Check for invalid UTF8 in Go comments.
Ian Lance Taylor [Mon, 31 Aug 2015 01:58:48 +0000 (01:58 +0000)]
compiler: Check for invalid UTF8 in Go comments.

    Fixes golang/go#11527.

    Reviewed-on: https://go-review.googlesource.com/13905

From-SVN: r227332

8 years agors6000.c (swap_web_entry): Enlarge special_handling bitfield.
Bill Schmidt [Mon, 31 Aug 2015 01:02:47 +0000 (01:02 +0000)]
rs6000.c (swap_web_entry): Enlarge special_handling bitfield.

[gcc]

2015-08-30  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>

* config/rs6000/rs6000.c (swap_web_entry): Enlarge
special_handling bitfield.
(special_handling_values): Add SH_XXPERMDI and SH_CONCAT.
(rtx_is_swappable_p): Add handling for vec_select/vec_concat form
that represents a general xxpermdi.
(insn_is_swappable_p): Add handling for vec_concat of two
doublewords, which maps to a specific xxpermdi.
(adjust_xxpermdi): New function.
(adjust_concat): Likewise.
(handle_special_swappables): Call adjust_xxpermdi and
adjust_concat.
(dump_swap_insn_table): Handle SH_XXPERMDI and SH_CONCAT.

[gcc/testsuite]

2015-08-30  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>

* gcc.target/powerpc/swaps-p8-19.c: New test.

From-SVN: r227331

8 years ago[SH] config.gcc (supported_defaults): Handle sh[123456ble]*-*-* instead of sh[123456b...
Rich Felker [Mon, 31 Aug 2015 00:18:32 +0000 (00:18 +0000)]
[SH] config.gcc (supported_defaults): Handle sh[123456ble]*-*-* instead of sh[123456ble]-*-*.

* [SH] config.gcc (supported_defaults): Handle sh[123456ble]*-*-* instead of sh[123456ble]-*-*.

From-SVN: r227330

8 years agoDaily bump.
GCC Administrator [Mon, 31 Aug 2015 00:16:17 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r227329

8 years agoDaily bump.
GCC Administrator [Sun, 30 Aug 2015 00:16:14 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r227326

8 years agoFix c++/67371 (issues with throw in constexpr)
Markus Trippelsdorf [Sat, 29 Aug 2015 18:51:26 +0000 (18:51 +0000)]
Fix c++/67371 (issues with throw in constexpr)

As PR67371 shows gcc currently rejects all throw statements in
constant-expressions, even when they are never executed.

PR c++/67371
* constexpr.c (potential_constant_expression_1): Remove IF_STMT
case. Move label to COND_EXPR case. Remove checking of
SWITCH_STMT_BODY.

From-SVN: r227323

8 years agore PR fortran/67367 (Program crashes on READ(IOSTAT=IOS, ...) on directory OPEN(...
Jerry DeLisle [Sat, 29 Aug 2015 15:52:43 +0000 (15:52 +0000)]
re PR fortran/67367 (Program crashes on READ(IOSTAT=IOS, ...) on directory OPEN()ed without error)

2015-08-29 Jerry DeLisle  <jvdelisle@gcc.gnu.org>

PR fortran/67367
* gfortran.dg/read_dir.f90: New test. May fail on some platforms.

From-SVN: r227321

8 years agore PR fortran/67367 (Program crashes on READ(IOSTAT=IOS, ...) on directory OPEN(...
Jerry DeLisle [Sat, 29 Aug 2015 15:38:39 +0000 (15:38 +0000)]
re PR fortran/67367 (Program crashes on READ(IOSTAT=IOS, ...) on directory OPEN()ed without error)

2015-08-29 Jerry DeLisle  <jvdelisle@gcc.gnu.org>

PR libgfortran/67367
* io/unix.c (buf_read): Check for error condition and if found
return the error code.

From-SVN: r227320

8 years agoacinclude.m4: Remove LIBGFOR_CHECK_ATTRIBUTE_DLLEXPORT.
Francois-Xavier Coudert [Sat, 29 Aug 2015 13:17:05 +0000 (13:17 +0000)]
acinclude.m4: Remove LIBGFOR_CHECK_ATTRIBUTE_DLLEXPORT.

* acinclude.m4: Remove LIBGFOR_CHECK_ATTRIBUTE_DLLEXPORT.
* configure.ac: Remove checks for strcasestr, execl, close,
getrlimit, readlink, getppid, powl, erfl, j0l, j1l, y0l, y1l,
tgammal, and lgammal.
* config.h.in: Regenerate.
* configure: Regenerate.

From-SVN: r227319

8 years agoRemove redundant use of REG_CLASS_NAMES maros
Anatoly Sokolov [Sat, 29 Aug 2015 13:10:43 +0000 (16:10 +0300)]
Remove redundant use of REG_CLASS_NAMES maros

From-SVN: r227318

8 years ago* io/unix.c (min): Remove unused macro.
Francois-Xavier Coudert [Sat, 29 Aug 2015 13:01:54 +0000 (13:01 +0000)]
* io/unix.c (min): Remove unused macro.

From-SVN: r227317

8 years agotrans.c (gfc_call_malloc, [...]): Simplify code.
Francois-Xavier Coudert [Sat, 29 Aug 2015 08:03:01 +0000 (08:03 +0000)]
trans.c (gfc_call_malloc, [...]): Simplify code.

* trans.c (gfc_call_malloc, gfc_allocate_using_malloc,
gfc_allocate_using_lib, gfc_allocate_allocatable,
gfc_call_realloc): Simplify code.
* trans-array.c (gfc_trans_allocate_array_storage,
gfc_trans_auto_array_allocation, gfc_conv_array_parameter): Do not
convert gfc_call_free() argument.
* trans-expr.c (gfc_conv_string_tmp, gfc_conv_procedure_call,
fcncall_realloc_result): Likewise.
* trans-intrinsic.c (gfc_conv_intrinsic_transfer): Likewise.

From-SVN: r227316

8 years agoHandle mix/max pointer reductions in parloops
Tom de Vries [Sat, 29 Aug 2015 07:07:51 +0000 (07:07 +0000)]
Handle mix/max pointer reductions in parloops

2015-08-29  Tom de Vries  <tom@codesourcery.com>

PR tree-optimization/46193
* omp-low.c (omp_reduction_init): Handle pointer type for min or max
clause.

* gcc.dg/autopar/pr46193.c: New test.

* testsuite/libgomp.c/pr46193.c: New test.

From-SVN: r227315

8 years agoDaily bump.
GCC Administrator [Sat, 29 Aug 2015 00:16:11 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r227314

8 years agore PR fortran/53668 (Cray-pointer diagnostic enhancement)
Francois-Xavier Coudert [Fri, 28 Aug 2015 20:46:43 +0000 (20:46 +0000)]
re PR fortran/53668 (Cray-pointer diagnostic enhancement)

PR fortran/53668

* intrinsic.c (add_functions, add_subroutines): Remove resolution
functions for FREE and MALLOC.
* intrinsic.h (gfc_resolve_malloc, gfc_resolve_free): Remove.
* iresolve.c (gfc_resolve_malloc, gfc_resolve_free): Remove.
* trans-intrinsic.c (conv_intrinsic_free,
gfc_conv_intrinsic_malloc): New functions.

* intrinsics/malloc.c: Adapt comments.

From-SVN: r227311

8 years agostruct-layout-1_generate.c: Simply use exit code for failure.
Nathan Sidwell [Fri, 28 Aug 2015 19:52:28 +0000 (19:52 +0000)]
struct-layout-1_generate.c: Simply use exit code for failure.

* gcc/testsuite/gcc.dg/compat/struct-layout-1_generate.c: Simply
use exit code for failure.

From-SVN: r227310

8 years agomatrix-1.c: Use plain printf.
Nathan Sidwell [Fri, 28 Aug 2015 19:04:45 +0000 (19:04 +0000)]
matrix-1.c: Use plain printf.

* gcc/testsuite/gcc.dg/torture/matrix-1.c: Use plain printf.
* gcc/testsuite/gcc.dg/torture/matrix-2.c: Likewise.
* gcc/testsuite/gcc.dg/torture/matrix-5.c: Likewise.
* gcc/testsuite/gcc.dg/torture/matrix-6.c: Likewise.
* gcc/testsuite/gcc.dg/torture/transpose-1.c: Likewise.
* gcc/testsuite/gcc.dg/torture/transpose-2.c: Likewise.
* gcc/testsuite/gcc.dg/torture/transpose-3.c: Likewise.
* gcc/testsuite/gcc.dg/torture/transpose-4.c: Likewise.
* gcc/testsuite/gcc.dg/torture/transpose-5.c: Likewise.
* gcc/testsuite/gcc.dg/torture/transpose-6.c: Likewise.

From-SVN: r227309

8 years ago[PATCH][lto/66752] Fix missed FSM jump thread
Jeff Law [Fri, 28 Aug 2015 16:23:12 +0000 (10:23 -0600)]
[PATCH][lto/66752] Fix missed FSM jump thread

PR lto/66752
* tree-ssa-threadedge.c (simplify_conrol_stmt_condition): If we are
unable to find X NE 0 in the tables, return X as the simplified
condition.
(fsm_find_control_statement_thread_paths): If nodes in NEXT_PATH are
in VISISTED_BBS, then return failure.  Else add nodes from NEXT_PATH
to VISISTED_BBS.
* tree-ssa-threadupdate.c (duplicate_thread_path): Fix up edge flags
after removing the control flow statement and unnecessary edges.

PR lto/66752
* gcc.dg/tree-ssa/pr66752-2.c: New test.
* gcc.dg/torture/pr66752-1.c: New test
* g++.dg/torture/pr66752-2.C: New test.

From-SVN: r227307

8 years agoRevert: completely_scalarize arrays as well as records
Alan Lawrence [Fri, 28 Aug 2015 15:04:17 +0000 (15:04 +0000)]
Revert: completely_scalarize arrays as well as records

gcc/:
Revert:
2015-08-27  Alan Lawrence  <alan.lawrence@arm.com>
PR tree-optimization/67283
* tree-sra.c (type_consists_of_records_p): Rename to...
(scalarizable_type_p): ...this, add case for ARRAY_TYPE.

(completely_scalarize_record): Rename to...
(completely_scalarize): ...this, add ARRAY_TYPE case, move some
 code to:
(scalarize_elem): New.

gcc/testsuite/:

Revert:
2015-08-27  Alan Lawrence  <alan.lawrence@arm.com>
* gcc.dg/tree-ssa/sra-15.c: New.

From-SVN: r227303

8 years ago[Patch] Add to the libgfortran/newlib bodge to "detect" ftruncate support in ARM...
James Greenhalgh [Fri, 28 Aug 2015 14:57:57 +0000 (14:57 +0000)]
[Patch] Add to the libgfortran/newlib bodge to "detect" ftruncate support in ARM/AArch64/SH

* configure.ac: Auto-detect newlib function support unless we
know there are issues when configuring for a host.
* configure: Regenerate.

From-SVN: r227301

8 years agoMIPS: Add the lo register to the clobber list in the madd-8.c and msub-8.c testcases.
Andrew Bennett [Fri, 28 Aug 2015 13:35:01 +0000 (13:35 +0000)]
MIPS: Add the lo register to the clobber list in the madd-8.c and msub-8.c testcases.

The lo register is not listed in the clobber list in the inline asm statement
for the madd-8.c and msub-8.c testcases.  This means that when building for the
n64 ABI GCC is free to use the lo register instead of the stack when
saving/restoring the clobbered registers.  Then then means that it decides to
use the msub/madd instruction to perform the "x - y * z" operation rather than
using mul; addu/subu which the test is looking for.

testsuite/
* gcc.target/mips/madd-8.c: Add lo register to clobber list.
* gcc.target/mips/msub-8.c: Ditto.

From-SVN: r227299

8 years agoMAINTAINERS: Add myself.
David Sherwood [Fri, 28 Aug 2015 10:11:27 +0000 (10:11 +0000)]
MAINTAINERS: Add myself.

2015-08-28  David Sherwood  <david.sherwood@arm.com>

* MAINTAINERS: Add myself.

From-SVN: r227297

8 years ago[AArch64] Rename SYMBOL_SMALL_GOTTPREL to SYMBOL_SMALL_TLSIE
Jiong Wang [Fri, 28 Aug 2015 08:53:37 +0000 (08:53 +0000)]
[AArch64] Rename SYMBOL_SMALL_GOTTPREL to SYMBOL_SMALL_TLSIE

2015-08-28  Jiong Wang  <jiong.wang@arm.com>

* config/aarch64/aarch64-protos.h (aarch64_symbol_context): Rename
SYMBOL_SMALL_GOTTPREL to SYMBOL_SMALL_TLSIE.
(aarch64_symbol_type): Likewise.
* config/aarch64/aarch64.c (aarch64_load_symref_appropriately):
Likewise.
(aarch64_expand_mov_immediate): Likewise.
(aarch64_print_operand): Likewise.
(aarch64_classify_tls_symbol): Likewise.

From-SVN: r227294

8 years agocgraphunit.c (symbol_table::compile): Move early debug generation and finish...
Richard Biener [Fri, 28 Aug 2015 07:47:37 +0000 (07:47 +0000)]
cgraphunit.c (symbol_table::compile): Move early debug generation and finish...

2015-08-28  Richard Biener  <rguenther@suse.de>

* cgraphunit.c (symbol_table::compile): Move early debug generation
and finish...
(symbol_table::finalize_compilation_unit): ... back here and
add a !seen_error () guard.

From-SVN: r227293

8 years agore PR libstdc++/67362 (std::regex("((.)", std::regex_constants::basic) throws)
Tim Shen [Fri, 28 Aug 2015 02:35:21 +0000 (02:35 +0000)]
re PR libstdc++/67362 (std::regex("((.)", std::regex_constants::basic) throws)

PR libstdc++/67362
* include/bits/regex_scanner.tcc (_Scanner<>::_M_scan_normal):
Always returns ordinary char token if the char isn't
considered a special char.
* testsuite/28_regex/regression.cc: New test file for collecting
regression testcases from, typically, bugzilla.

From-SVN: r227289

8 years agoDaily bump.
GCC Administrator [Fri, 28 Aug 2015 00:16:12 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r227288

8 years agocompiler: Report unused variables initialized to function literals.
Ian Lance Taylor [Thu, 27 Aug 2015 23:09:37 +0000 (23:09 +0000)]
compiler: Report unused variables initialized to function literals.

    Fixes golang/go#12317.

    Reviewed-on: https://go-review.googlesource.com/13908

From-SVN: r227285

8 years agocompiler: Allow multiple blank label definitions.
Ian Lance Taylor [Thu, 27 Aug 2015 22:41:55 +0000 (22:41 +0000)]
compiler: Allow multiple blank label definitions.

    Fixes golang/go#12316.

    Reviewed-on: https://go-review.googlesource.com/13907

From-SVN: r227284

8 years agotarget-supports.exp (check-effective_target_vect_double): Enable for Power targets...
Bill Schmidt [Thu, 27 Aug 2015 22:13:43 +0000 (22:13 +0000)]
target-supports.exp (check-effective_target_vect_double): Enable for Power targets with VSX hardware available.

2015-08-27  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>

* lib/target-supports.exp (check-effective_target_vect_double):
Enable for Power targets with VSX hardware available.
* gfortran.dg/vect/O3-pr49957.f: Replace vect_no_align with
vect_no_align && { ! vect_hw_misalign }.

From-SVN: r227283

8 years agofix compile without ISL
Sebastian Pop [Thu, 27 Aug 2015 21:59:06 +0000 (21:59 +0000)]
fix compile without ISL

* toplev.c (process_options): Do not use flag_loop_block,
flag_loop_interchange, and flag_loop_strip_mine.  Add check for
flag_loop_optimize_isl.

From-SVN: r227282

8 years ago* MAINTAINERS: Add myself.
Patrick Marlier [Thu, 27 Aug 2015 20:06:46 +0000 (20:06 +0000)]
* MAINTAINERS:  Add myself.

From-SVN: r227279

8 years agoremove -floop-* flags
Sebastian Pop [Thu, 27 Aug 2015 19:07:04 +0000 (19:07 +0000)]
remove -floop-* flags

2015-08-27  Sebastian Pop  <s.pop@samsung.com>

* Makefile.in (OBJS): Remove graphite-blocking.o and
graphite-interchange.o.
* common.opt (floop-strip-mine, floop-interchange, floop-block):
Alias of floop-nest-optimize.
* doc/invoke.texi (floop-strip-mine, floop-interchange, floop-block):
Document as alias of -floop-nest-optimize.
* graphite-blocking.c: Remove.
* graphite-interchange.c: Remove.
* graphite-optimize-isl.c: Include dumpfile.h.
(getScheduleForBand): Add dump for tiled loops.  Use
PARAM_LOOP_BLOCK_TILE_SIZE instead of hard coded constant.
* graphite-poly.c (scop_max_loop_depth): Remove.
(print_scattering_function_1): Remove.
(print_scattering_function): Remove.
(print_scattering_functions): Remove.
(debug_scattering_function): Remove.
(debug_scattering_functions): Remove.
(apply_poly_transforms): Remove use of flag_loop_block,
flag_loop_strip_mine, and flag_loop_interchange.
(new_poly_bb): Remove use of PBB_TRANSFORMED, PBB_SAVED, and
PBB_ORIGINAL.
(print_pdr_access_layout): Remove.
(print_pdr): Print ISL representation.
(new_scop): Remove use of SCOP_ORIGINAL_SCHEDULE,
SCOP_TRANSFORMED_SCHEDULE, and SCOP_SAVED_SCHEDULE.
(free_scop): Same.
(openscop_print_pbb_domain): Remove.
(print_pbb): Remove call to print_scattering_function.
(openscop_print_scop_context): Remove.
(print_scop_context): Do not print matrices anymore.
(print_scop): Do not print SCOP_ORIGINAL_SCHEDULE and
SCOP_TRANSFORMED_SCHEDULE.
(print_isl_set): Add printing of a new line.
(print_isl_map): Same.
(print_isl_aff): Same.
(print_isl_constraint): Same.
(loop_to_lst): Remove.
(scop_to_lst): Remove.
(lst_indent_to): Remove.
(print_lst): Remove.
(debug_lst): Remove.
(dot_lst_1): Remove.
(dot_lst): Remove.
(reverse_loop_at_level): Remove.
(reverse_loop_for_pbbs): Remove.
* graphite-poly.h (pdr_dim_iter_domain): Remove.
(pdr_nb_params): Remove.
(pdr_alias_set_dim): Remove.
(pdr_subscript_dim): Remove.
(pdr_iterator_dim): Remove.
(pdr_parameter_dim): Remove.
(same_pdr_p): Remove.
(struct poly_scattering): Remove.
(struct poly_bb): Remove _original, _transformed, _saved.
(PBB_DOMAIN, PBB_ORIGINAL, PBB_ORIGINAL_SCATTERING): Remove.
(PBB_TRANSFORMED, PBB_TRANSFORMED_SCATTERING, PBB_SAVED): Remove.
(PBB_NB_LOCAL_VARIABLES): Remove.
(PBB_NB_SCATTERING_TRANSFORM): Remove.
(schedule_to_scattering): Remove.
(number_of_write_pdrs): Remove.
(pbb_dim_iter_domain): Remove.
(pbb_nb_params): Remove.
(pbb_nb_scattering_orig): Remove.
(pbb_nb_scattering_transform): Remove.
(pbb_nb_dynamic_scattering_transform): Remove.
(pbb_nb_local_vars): Remove.
(pbb_iterator_dim): Remove.
(pbb_parameter_dim): Remove.
(psco_scattering_dim): Remove.
(psct_scattering_dim): Remove.
(psct_local_var_dim): Remove.
(psco_iterator_dim): Remove.
(psct_iterator_dim): Remove.
(psco_parameter_dim): Remove.
(psct_parameter_dim): Remove.
(psct_dynamic_dim): Remove.
(psct_static_dim): Remove.
(psct_add_local_variable): Remove.
(new_lst_loop): Remove.
(new_lst_stmt): Remove.
(free_lst): Remove.
(copy_lst): Remove.
(lst_add_loop_under_loop): Remove.
(lst_depth): Remove.
(lst_dewey_number): Remove.
(lst_dewey_number_at_depth): Remove.
(lst_pred): Remove.
(lst_succ): Remove.
(lst_find_pbb): Remove.
(find_lst_loop): Remove.
(lst_find_first_pbb): Remove.
(lst_empty_p): Remove.
(lst_find_last_pbb): Remove.
(lst_contains_p): Remove.
(lst_contains_pbb): Remove.
(lst_create_nest): Remove.
(lst_remove_from_sequence): Remove.
(lst_remove_loop_and_inline_stmts_in_loop_father): Remove.
(lst_niter_for_loop): Remove.
(pbb_update_scattering): Remove.
(lst_update_scattering_under): Remove.
(lst_update_scattering): Remove.
(lst_insert_in_sequence): Remove.
(lst_replace): Remove.
(lst_substitute_3): Remove.
(lst_distribute_lst): Remove.
(lst_remove_all_before_including_pbb): Remove.
(lst_remove_all_before_excluding_pbb): Remove.
(struct scop): Remove original_schedule, transformed_schedule, and
saved_schedule.
(SCOP_ORIGINAL_SCHEDULE, SCOP_TRANSFORMED_SCHEDULE): Remove.
(SCOP_SAVED_SCHEDULE): Remove.
(poly_scattering_new): Remove.
(poly_scattering_free): Remove.
(poly_scattering_copy): Remove.
(store_scattering_pbb): Remove.
(store_lst_schedule): Remove.
(restore_lst_schedule): Remove.
(store_scattering): Remove.
(restore_scattering_pbb): Remove.
(restore_scattering): Remove.
* graphite-sese-to-poly.c (build_pbb_scattering_polyhedrons):
Remove scattering_dimensions.  Do not use pbb_dim_iter_domain:
compute the scattering polyhedron dimension from the dimension of
pbb->domain.
(build_scop_scattering): Update call to
build_pbb_scattering_polyhedrons.
(build_poly_scop): Remove call to scop_to_lst.
* graphite.c (graphite_transform_loops): Add call to print_scop.
(gate_graphite_transforms): Remove use of flag_loop_block,
flag_loop_interchange, and flag_loop_strip_mine.

testsuite/

* gcc.dg/graphite/graphite.exp (interchange_files, block_files):
Replaced by opt_files, compile with -floop-nest-optimize.
* g++.dg/graphite/graphite.exp: Same.
* gfortran.dg/graphite/graphite.exp: Same.
* gcc.dg/graphite/block-0.c: Adjust pattern.
* gcc.dg/graphite/block-1.c: Same.
* gcc.dg/graphite/block-3.c: Same.
* gcc.dg/graphite/block-4.c: Same.
* gcc.dg/graphite/block-5.c: Same.
* gcc.dg/graphite/block-6.c: Same.
* gcc.dg/graphite/block-7.c: Same.
* gcc.dg/graphite/block-8.c: Same.
* gcc.dg/graphite/block-pr47654.c: Same.
* gcc.dg/graphite/interchange-0.c: Same.
* gcc.dg/graphite/interchange-1.c: Same.
* gcc.dg/graphite/interchange-10.c: Same.
* gcc.dg/graphite/interchange-11.c: Same.
* gcc.dg/graphite/interchange-12.c: Same.
* gcc.dg/graphite/interchange-13.c: Same.
* gcc.dg/graphite/interchange-14.c: Same.
* gcc.dg/graphite/interchange-15.c: Same.
* gcc.dg/graphite/interchange-3.c: Same.
* gcc.dg/graphite/interchange-4.c: Same.
* gcc.dg/graphite/interchange-5.c: Same.
* gcc.dg/graphite/interchange-6.c: Same.
* gcc.dg/graphite/interchange-7.c: Same.
* gcc.dg/graphite/interchange-8.c: Same.
* gcc.dg/graphite/interchange-9.c: Same.
* gcc.dg/graphite/interchange-mvt.c: Same.
* gcc.dg/graphite/pr37485.c: Same.
* gcc.dg/graphite/uns-block-1.c: Same.
* gcc.dg/graphite/uns-interchange-12.c: Same.
* gcc.dg/graphite/uns-interchange-14.c: Same.
* gcc.dg/graphite/uns-interchange-15.c: Same.
* gcc.dg/graphite/uns-interchange-9.c: Same.
* gcc.dg/graphite/uns-interchange-mvt.c: Same.
* gfortran.dg/graphite/interchange-3.f90: Same.

From-SVN: r227277

8 years agocompiler: Don't record dependencies of invalid redefinitions.
Ian Lance Taylor [Thu, 27 Aug 2015 19:06:59 +0000 (19:06 +0000)]
compiler: Don't record dependencies of invalid redefinitions.

    The gofrontend would crash when trying to find the initialization
    order of a variable list where one of the listed variables was an
    invalid redefinition of another in a call statement.  This patch
    fixes initialization from call statements to consider invalid
    redefinitions before recording dependency information.

    Fixes golang/go#11543.

    Reviewed-on: https://go-review.googlesource.com/13895

From-SVN: r227276

8 years agoremove -floop-unroll-and-jam
Sebastian Pop [Thu, 27 Aug 2015 19:06:56 +0000 (19:06 +0000)]
remove -floop-unroll-and-jam

* common.opt (floop-unroll-and-jam): Make alias of floop-nest-optimize.
* doc/invoke.texi (-floop-unroll-and-jam): Document as alias of
-floop-nest-optimize.
* graphite-isl-ast-to-gimple.c (generate_luj_sepclass_opt): Remove.
(generate_luj_sepclass): Remove.
(generate_luj_options): Remove.
(set_options): Remove opt_luj.
(scop_to_isl_ast): Remove opt_luj.
* graphite-optimize-isl.c (getScheduleForBand): Remove check for
flag_loop_unroll_jam.
(getPrevectorMap_full): Remove.
(getScheduleForBandList): Remove map_sepcl.
(getScheduleMap): Same.
(apply_schedule_map_to_scop): Remove sepcl.
(optimize_isl): Same.
* graphite-poly.c (apply_poly_transforms): Remove check for
flag_loop_unroll_jam.
(new_poly_bb): Remove map_sepclass.
* graphite-poly.h (struct poly_bb): Same.
* graphite.c (gate_graphite_transforms): Remove flag_loop_unroll_jam.
* params.def (PARAM_LOOP_UNROLL_JAM_SIZE)
(PARAM_LOOP_UNROLL_JAM_DEPTH): Remove.
* toplev.c (process_options): Remove flag_loop_unroll_jam.

From-SVN: r227275

8 years agore PR libstdc++/67374 (std::cbegin can't call valarray range access functions)
Jonathan Wakely [Thu, 27 Aug 2015 19:05:19 +0000 (20:05 +0100)]
re PR libstdc++/67374 (std::cbegin can't call valarray range access functions)

PR libstdc++/67374
* include/bits/range_access.h (valarray, begin, end): Declare.
* testsuite/26_numerics/valarray/range_access.cc: Test const
overloads.
* testsuite/26_numerics/valarray/range_access2.cc: New.

From-SVN: r227274

8 years agore PR target/67317 ([x86] Silly code generation for _addcarry_u32/_addcarry_u64)
Uros Bizjak [Thu, 27 Aug 2015 18:29:37 +0000 (20:29 +0200)]
re PR target/67317 ([x86] Silly code generation for _addcarry_u32/_addcarry_u64)

PR target/67317
* config/i386/i386.md (*add<mode>3_cc): Remove insn pattern.
(addqi3_cc): Ditto.
(UNSPEC_ADD_CARRY): Remove.
(addqi3_cconly_overflow): New expander.
(*add<dwi>3_doubleword): Split to add<mode>3_cconly_overflow.
Adjust for changed add<mode>3_carry.
(*neg<dwi>2_doubleword): Adjust for changed add<mode>3_carry.
(*sub<dwi>3_doubleword): Adjust for changed sub<mode>3_carry.
(<plusminus_insn><mode>3_carry): Remove expander.
(*<plusminus_insn><mode>3_carry): Split insn pattern to
add<mode>3_carry and sub<mode>3_carry.
(plusminus_carry_mnemonic): Remove code attribute.
(add<mode>3_carry): Canonicalize insn pattern.
(*addsi3_carry_zext): Ditto.
(sub<mode>3_carry): Ditto.
(*subsi3_carry_zext): Ditto.
(adcx<mode>3): Remove insn pattern.
(addcarry<mode>): New insn pattern.
(subborrow<mode>): Ditto.
* config/i386/i386.c (ix86_expand_strlensi_unroll_1): Use
gen_addqi3_cconly_overflow instead of gen_addqi3_cc.
(ix86_expand_builtin) <case IX86_BUILTIN_SBB32,
case IX86_BUILTIN_SBB64, case IX86_BUILTIN_ADDCARRY32,
case IX86_BUILTIN_ADDCARRY64>: Use CODE_FOR_subborrowsi,
CODE_FOR_subborrowdi, CODE_FOR_addcarrysi and CODE_FOR_addcarrydi.
Rewrite expander to not clobber carry flag chains.

testsuite/ChangeLog:

PR target/67317
* gcc.target/i386/pr67317-1.c: New test.
* gcc.target/i386/pr67317-2.c: Ditto.
* gcc.target/i386/pr67317-3.c: Ditto.
* gcc.target/i386/pr67317-4.c: Ditto.
* gcc.target/i386/adx-addcarryx32-1.c: Also scan for adcl.
* gcc.target/i386/adx-addcarryx32-2.c: Also scan for adcq.

From-SVN: r227271

8 years agovector.md (vec_shr_<mode>): Fix to do a shift instead of a rotate.
Pat Haugen [Thu, 27 Aug 2015 18:20:45 +0000 (18:20 +0000)]
vector.md (vec_shr_<mode>): Fix to do a shift instead of a rotate.

* config/rs6000/vector.md (vec_shr_<mode>): Fix to do a shift
instead of a rotate.

* gcc.target/powerpc/vec-shr.c: New.

From-SVN: r227270

8 years agore PR middle-end/67005 (ICE: in verify_loop_structure, at cfgloop.c:1647 (loop with...
Marek Polacek [Thu, 27 Aug 2015 17:07:35 +0000 (17:07 +0000)]
re PR middle-end/67005 (ICE: in verify_loop_structure, at cfgloop.c:1647 (loop with header n not in loop tree))

PR middle-end/67005
* tree-ssa-dce.c (remove_dead_stmt): Also schedule fixup if removing
an entry into an irreducible region.

* gcc.dg/torture/pr67005.c: New test.

From-SVN: r227268