1. 24 Oct, 2011 2 commits
  2. 23 Oct, 2011 19 commits
    • Factor out common tests in 8-byte reg/reg move splitters on 32-bit sparc. · b1fc9f8b
      	* config/sparc/sparc.c (sparc_split_regreg_legitimate): New
      	function.
      	* config/sparc/sparc-protos.h (sparc_split_regreg_legitimate):
      	Declare it.
      	* config/sparc/sparc.md (DImode reg/reg split): Use it.
      	(DFmode reg/reg split): Likewise.
      
      From-SVN: r180354
      David S. Miller committed
    • simplify.c (simplify_transformation_to_array): Fix memory leak. · 9c85d38b
      2011-10-23  Steven G. Kargl  <kargl@gcc.gnu.org>
      
          * simplify.c (simplify_transformation_to_array): Fix memory leak.
      
      From-SVN: r180353
      Steven G. Kargl committed
    • Add missing fzero/fone cases to DImode move on 32-bit v9 sparc. · 1255f800
      	* config/sparc/sparc.md (*movdi_insn_sp32_v9): Add alternatives for
      	generating fzero and fone instructions.
      	(DImode const_int --> reg splitter): Only trigger for integer regs.
      
      From-SVN: r180352
      David S. Miller committed
    • Fix sparc so that reload doesn't try to load non-trivial vector consts directly. · 4d1a8838
      	* config/sparc/predicates.md (input_operand): Disallow vector
      	constants other than 0 and -1.
      	* config/sparc/sparc.c (sparc_preferred_reload_class): Return
      	NO_REGS for vector constants other than 0 and -1.
      
      From-SVN: r180351
      David S. Miller committed
    • Use a macro instead of a constant to test for sparc integer regnos. · 5a53588f
      	* config/sparc/sparc.h (SPARC_FIRST_INT_REG, SPARC_LAST_INT_REG,
      	SPARC_INT_REG_P): Define.
      	(HARD_REGNO_NREGS): Use SPARC_INT_REG_P.
      	(REGNO_OK_FOR_INDEX_P): Likewise.
      	* config/sparc/sparc.c (gen_df_reg): Likewise.
      	(eligible_for_return_delay): Likewise.
      	(eligible_for_sibcall_delay): Likewise.
      	(sparc_legitimate_address_p): Likewise.
      	(emit_save_or_restore_regs): Likewise.
      	(registers_ok_for_ldd_peep): Likewise.
      	* config/spac/sparc.md (DI mode splitters): Likewise.
      	(SF mode const splitters): Likewise.
      	(DF mode splitters): Likewise.
      	(32-bit DI mode logical op splitters): Likewise.
      
      From-SVN: r180350
      David S. Miller committed
    • re PR c++/50841 (bootstrap failure: narrowing conversion of… · 0bcf216b
      re PR c++/50841 (bootstrap failure: narrowing conversion of '-0x00000000000000001' from 'int' in tree-object-size.c)
      
      /c-family
      2011-10-23  Paolo Carlini  <paolo.carlini@oracle.com>
      
      	PR c++/50841
      	Revert:
      	2011-10-23  Paolo Carlini  <paolo.carlini@oracle.com>
      
      	PR c++/50810
      	* c-opts.c (c_common_handle_option): Enable -Wnarrowing as part
      	of -Wall; include -Wnarrowing in -Wc++0x-compat; adjust default
      	Wnarrowing for C++0x and C++98.
      	* c.opt ([Wnarrowing]): Update.
      
      /cp
      2011-10-23  Paolo Carlini  <paolo.carlini@oracle.com>
      
      	PR c++/50841
      	Revert:
      	2011-10-23  Paolo Carlini  <paolo.carlini@oracle.com>
      
      	PR c++/50810
      	* typeck2.c (check_narrowing): Adjust OPT_Wnarrowing diagnostics.
      	(digest_init_r): Call check_narrowing irrespective of the C++ dialect.
      	* decl.c (check_initializer): Likewise.
      	* semantics.c (finish_compound_literal): Likewise.
      
      /testsuite
      2011-10-23  Paolo Carlini  <paolo.carlini@oracle.com>
      
      	PR c++/50841
      	Revert:
      	2011-10-23  Paolo Carlini  <paolo.carlini@oracle.com>
      
      	PR c++/50810
      	* g++.dg/cpp0x/warn_cxx0x2.C: New.
      	* g++.dg/cpp0x/warn_cxx0x3.C: Likewise.
      
      2011-10-23  Paolo Carlini  <paolo.carlini@oracle.com>
      
      	PR c++/50841
      	Revert:
      	2011-10-23  Paolo Carlini  <paolo.carlini@oracle.com>
      
      	PR c++/50810
      	* doc/invoke.texi ([-Wnarrowing], [-Wc++0x-compat]): Update.
      
      From-SVN: r180349
      Paolo Carlini committed
    • re PR c++/50841 (bootstrap failure: narrowing conversion of… · 5f53c243
      re PR c++/50841 (bootstrap failure: narrowing conversion of '-0x00000000000000001' from 'int' in tree-object-size.c)
      
      /c-family
      2011-10-23  Paolo Carlini  <paolo.carlini@oracle.com>
      
      	PR c++/50841
      	Revert:
      	2011-10-23  Paolo Carlini  <paolo.carlini@oracle.com>
      
      	PR c++/50810
      	* c-opts.c (c_common_handle_option): Enable -Wnarrowing as part
      	of -Wall; include -Wnarrowing in -Wc++0x-compat; adjust default
      	Wnarrowing for C++0x and C++98.
      	* c.opt ([Wnarrowing]): Update.
      
      /cp
      2011-10-23  Paolo Carlini  <paolo.carlini@oracle.com>
      
      	PR c++/50841
      	Revert:
      	2011-10-23  Paolo Carlini  <paolo.carlini@oracle.com>
      
      	PR c++/50810
      	* typeck2.c (check_narrowing): Adjust OPT_Wnarrowing diagnostics.
      	(digest_init_r): Call check_narrowing irrespective of the C++ dialect.
      	* decl.c (check_initializer): Likewise.
      	* semantics.c (finish_compound_literal): Likewise.
      
      /testsuite
      2011-10-23  Paolo Carlini  <paolo.carlini@oracle.com>
      
      	PR c++/50841
      	Revert:
      	2011-10-23  Paolo Carlini  <paolo.carlini@oracle.com>
      
      	PR c++/50810
      	* g++.dg/cpp0x/warn_cxx0x2.C: New.
      	* g++.dg/cpp0x/warn_cxx0x3.C: Likewise.
      
      2011-10-23  Paolo Carlini  <paolo.carlini@oracle.com>
      
      	PR c++/50841
      	Revert:
      	2011-10-23  Paolo Carlini  <paolo.carlini@oracle.com>
      
      	PR c++/50810
      	* doc/invoke.texi ([-Wnarrowing], [-Wc++0x-compat]): Update.
      
      From-SVN: r180348
      Paolo Carlini committed
    • sse.md (avx2_lshl<mode>3): Remove insn pattern. · 0d459eae
      	* config/i386/sse.md (avx2_lshl<mode>3): Remove insn pattern.
      	(VI248_256): Remove mode iterator.
      	* config/i386/i386.c (ix86_expand_vec_perm): Use gen_ashlv4di3
      	instead of gen_avx2_lshlv4di3.
      	(bdesc_args): Use CODE_FOR_ashl{v16hi,v8si,v4di}3 instead of
      	CODE_FOR_avx2_lshl{v16hi,v8si,v4di}3.
      
      From-SVN: r180346
      Uros Bizjak committed
    • Implement new syscall package. · de27caac
      Calls to library functions now use entersyscall and
      exitsyscall as appropriate.  This is a first step toward
      multiplexing goroutines onto threads.
      
      From-SVN: r180345
      Ian Lance Taylor committed
    • sse.md (sseintprefix): Rename from gthrfirstp. · 7b45b87f
      	* config/i386/sse.md (sseintprefix): Rename from gthrfirstp.
      	(<avx_avx2>_maskload<ssemodesuffix><avxsizesuffix>): Delete expander.
      	(<avx_avx2>_maskload<ssemodesuffix><avxsizesuffix>) Merge insn
      	pattern from *avx2_maskload<ssemodesuffix><avxsizesuffix> and
      	*avx_maskload<ssemodesuffix><avxsizesuffix> using V48_AVX mode
      	iterator.  Use sseintprefix mode attribute.
      	(<avx_avx2>_maskstore<ssemodesuffix><avxsizesuffix>): Delete expander.
      	(<avx_avx2>_maskstore<ssemodesuffix><avxsizesuffix>) Merge insn
      	pattern from *avx2_maskstore<ssemodesuffix><avxsizesuffix> and
      	*avx_maskstore<ssemodesuffix><avxsizesuffix> using V48_AVX mode
      	iterator.  Use sseintprefix mode attribute.
      	(*avx2_gathersi<mode>) Use sseintprefix and ssemodesuffix mode
      	attributes.
      	(*avx2_gatherdi<mode>): Ditto.
      	(*avx2_gatherdi<mode>256): Ditto.
      	(VI48_AVX2): Remove mode iterator.
      	(gthrlastfp): Remove mode attribute.
      
      From-SVN: r180344
      Uros Bizjak committed
    • re PR c++/50810 (c++0x-compat does not warn about narrowing conversions) · 263734e1
      /c-family
      2011-10-23  Paolo Carlini  <paolo.carlini@oracle.com>
      
      	PR c++/50810
      	* c-opts.c (c_common_handle_option): Enable -Wnarrowing as part
      	of -Wall; include -Wnarrowing in -Wc++0x-compat; adjust default
      	Wnarrowing for C++0x and C++98.
      	* c.opt ([Wnarrowing]): Update.
      
      /cp
      2011-10-23  Paolo Carlini  <paolo.carlini@oracle.com>
      
      	PR c++/50810
      	* typeck2.c (check_narrowing): Adjust OPT_Wnarrowing diagnostics.
      	(digest_init_r): Call check_narrowing irrespective of the C++ dialect.
      	* decl.c (check_initializer): Likewise.
      	* semantics.c (finish_compound_literal): Likewise.
      
      /testsuite
      2011-10-23  Paolo Carlini  <paolo.carlini@oracle.com>
      
      	PR c++/50810
      	* g++.dg/cpp0x/warn_cxx0x2.C: New.
      	* g++.dg/cpp0x/warn_cxx0x3.C: Likewise.
      
      2011-10-23  Paolo Carlini  <paolo.carlini@oracle.com>
      
      	PR c++/50810
      	* doc/invoke.texi ([-Wnarrowing], [-Wc++0x-compat]): Update.
      
      From-SVN: r180343
      Paolo Carlini committed
    • re PR tree-optimization/50763 (ICE: verify_gimple failed: missing PHI def with -ftree-tail-merge) · 19b6a33d
      2011-10-23  Tom de Vries  <tom@codesourcery.com>
      
      	PR tree-optimization/50763
      	* gcc.dg/pr50763.c: New test.
      
      From-SVN: r180342
      Tom de Vries committed
    • re PR tree-optimization/50763 (ICE: verify_gimple failed: missing PHI def with -ftree-tail-merge) · 4cbdcd40
      2011-10-23  Tom de Vries  <tom@codesourcery.com>
      
      	PR tree-optimization/50763
      	* tree-ssa-tail-merge.c (same_succ_flush_bb): New function, factored out
      	of ...
      	(same_succ_flush_bbs): Use same_succ_flush_bb.
      	(purge_bbs): Remove argument.  Remove calls to same_succ_flush_bbs,
      	release_last_vdef and delete_basic_block.
      	(unlink_virtual_phi): New function.
      	(update_vuses): Add and use vuse1_phi_args argument.  Set var to
      	SSA_NAME_VAR of vuse1 or vuse2, and use var.  Handle case that def_stmt2
      	is NULL.  Use phi result as phi arg in case vuse1 or vuse2 is NULL_TREE.
      	Replace uses of vuse1 if vuse2 is NULL_TREE.  Fix code to limit
      	replacement of uses.  Propagate phi argument for phis with a single
      	argument.
      	(replace_block_by): Update vops if phi_vuse1 or phi_vuse2 is NULL_TREE.
      	Set vuse1_phi_args if vuse1 is a phi defined in bb1.  Add vuse1_phi_args
      	as argument to call to update_vuses.  Call release_last_vdef,
      	same_succ_flush_bb, delete_basic_block.  Update CDI_DOMINATORS info.
      	(tail_merge_optimize): Remove argument in call to purge_bbs.  Remove
      	call to free_dominance_info.  Only call calculate_dominance_info once.
      
      From-SVN: r180341
      Tom de Vries committed
    • re PR tree-optimization/44683 (Optimization bug with copysign builtin) · 4db183a2
      	* fold-const.c (invert_tree_comparison): Always invert EQ_EXPR/NE_EXPR.
      
      	PR tree-optimization/44683
      	* tree-ssa-dom.c (record_edge_info): Record simple equivalences only if
      	we can be sure that there are no signed zeros involved.
      
      From-SVN: r180340
      Eric Botcazou committed
    • re PR target/50788 (ICE: in merge_overlapping_regs, at regrename.c:318 with… · fe646a69
      re PR target/50788 (ICE: in merge_overlapping_regs, at regrename.c:318 with -mavx -fpeel-loops -fstack-protector-all and __builtin_ia32_maskloadpd256)
      
      	PR target/50788
      	* config/i386/sse.md (avx2_maskload<ssemodesuffix><avxsizesuffix>):
      	Remove (match_dup 0).
      	(*avx2_maskload<ssemodesuffix><avxsizesuffix>): New insn pattern.
      	(*avx_maskload<ssemodesuffix><avxsizesuffix>): Ditto.
      	(*avx2_maskstore<ssemodesuffix><avxsizesuffix>): Ditto.
      	(*avx_maskstore<ssemodesuffix><avxsizesuffix>): Ditto.
      	(*avx2_maskmov<ssemodesuffix><avxsizesuffix>): Remove insn pattern.
      	(*avx_maskmov<ssemodesuffix><avxsizesuffix>): Ditto.
      
      testsuite/ChangeLog:
      
      2011-10-23  Uros Bizjak  <ubizjak@gmail.com>
      
      	PR target/50788
      	* testsuite/gcc.target/i386/pr50788.c: New test.
      
      From-SVN: r180335
      Uros Bizjak committed
    • re PR tree-optimization/50819 (missed SLP vectorization) · 5bfdb7d8
      
              PR tree-optimization/50819
              * tree-vectorizer.h (vect_analyze_data_ref_dependences): Remove
              the last argument.
              * tree-vect-loop.c (vect_analyze_loop_2): Update call to
              vect_analyze_data_ref_dependences.
              * tree-vect-data-refs.c (vect_analyze_data_ref_dependence):
              Remove the last argument.  Check load-after-store dependence
              for unknown dependencies in basic blocks.
              (vect_analyze_data_ref_dependences): Update call to
              vect_analyze_data_ref_dependences.
              * tree-vect-patterns.c (vect_recog_widen_shift_pattern): Fix
              typo.
              * tree-vect-slp.c (vect_bb_vectorizable_with_dependencies):
              Remove.
              (vect_slp_analyze_bb_1): Update call to
              vect_analyze_data_ref_dependences.  Don't call
              vect_bb_vectorizable_with_dependencies.
      
      From-SVN: r180334
      Ira Rosen committed
    • Daily bump. · b0ed0a6f
      From-SVN: r180333
      GCC Administrator committed
  3. 22 Oct, 2011 8 commits
    • re PR libstdc++/50196 ([C++0x] std::thread not available under macos) · 3b2eeb43
      	PR libstdc++/50196
      	* acinclude.m4 (GLIBCXX_HAS_GTHREADS): Don't depend on _POSIX_TIMEOUTS.
      	* configure: Regenerate.
      	* include/std/mutex (timed_mutex, recursive_timed_mutex): Define
      	conditionally on GTHREADS_HAS_MUTEX_TIMEDLOCK.
      	* testsuite/lib/libstdc++.exp (check_v3_target_gthreads_timed): Define.
      	* testsuite/lib/dg-options.exp (dg-require-gthreads-timed): Define.
      	* testsuite/30_threads/recursive_timed_mutex/dest/destructor_locked.cc:
      	Use dg-require-gthreads-timed instead of dg-require-gthreads.
      	* testsuite/30_threads/recursive_timed_mutex/native_handle/
      	typesizes.cc: Likewise.
      	* testsuite/30_threads/recursive_timed_mutex/native_handle/1.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/cons/assign_neg.cc:
      	Likewise.
      	* testsuite/30_threads/recursive_timed_mutex/cons/1.cc: Likewise.
      	* testsuite/30_threads/recursive_timed_mutex/cons/copy_neg.cc:
      	Likewise.
      	* testsuite/30_threads/recursive_timed_mutex/requirements/typedefs.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/lock/1.cc: Likewise.
      	* testsuite/30_threads/recursive_timed_mutex/lock/2.cc: Likewise.
      	* testsuite/30_threads/recursive_timed_mutex/unlock/1.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/timed_mutex/dest/destructor_locked.cc: Likewise.
      	* testsuite/30_threads/timed_mutex/native_handle/typesizes.cc:
      	Likewise.
      	* testsuite/30_threads/timed_mutex/native_handle/1.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/cons/assign_neg.cc: Likewise.
      	* testsuite/30_threads/timed_mutex/cons/1.cc: Likewise.
      	* testsuite/30_threads/timed_mutex/cons/copy_neg.cc: Likewise.
      	* testsuite/30_threads/timed_mutex/requirements/standard_layout.cc:
      	Likewise.
      	* testsuite/30_threads/timed_mutex/requirements/typedefs.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/lock/1.cc: Likewise.
      	* testsuite/30_threads/timed_mutex/unlock/1.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/unique_lock/cons/5.cc: Likewise.
      	* testsuite/30_threads/unique_lock/cons/6.cc: Likewise.
      	* testsuite/30_threads/unique_lock/locking/3.cc: Likewise.
      	* testsuite/30_threads/unique_lock/locking/4.cc: Likewise.
      
      From-SVN: r180329
      Jonathan Wakely committed
    • Fix cpp_peek_token behaviour (PR bootstrap/50778) · ad2305ad
      libcpp/
      
      	* include/internal.h (_cpp_remaining_tokens_num_in_context): Take the
      	context to act upon.
      	* lex.c (_cpp_remaining_tokens_num_in_context): Likewise.  Update
      	comment.
      	(cpp_token_from_context_at): Likewise.
      	(cpp_peek_token): Use the context to peek tokens from.
      
      From-SVN: r180328
      Dodji Seketeli committed
    • Update Go library to r60.3 release. · 94bf1a5f
      From-SVN: r180327
      Ian Lance Taylor committed
    • Remove unused functions from sparc backend. · 89b925a6
      	* config/sparc/sparc.c (short_branch, reg_unused_after): Delete.
      	* config/sparc/sparc-protos.h (short_branch, reg_unused_after):
      	Get rid of declarations.
      
      From-SVN: r180325
      David S. Miller committed
    • Make sparc's "struct processor_costs" private to sparc.c · f0237267
      	* config/sparc/sparc.h (sparc_costs): Remove extern decl.
      	(struct processor_costs): Move from here..
      	* config/sparc/sparc.c (struct processor_costs): To here.
      	(sparc_costs): Mark static.
      
      From-SVN: r180324
      David S. Miller committed
    • Convert sparc over to TARGET_SECONDARY_RELOAD. · 9dc98917
      gcc/
      
      	* config/sparc/sparc.h (SECONDARY_INPUT_RELOAD_CLASS,
      	SECONDARY_OUTPUT_RELOAD_CLASS): Delete.
      	* config/sparc/sparc.c (TARGET_SECONDARY_RELOAD): Redefine.
      	(sparc_secondary_reload): New function.
      
      From-SVN: r180323
      David S. Miller committed
    • obstack.h [!GNUC] (obstack_free): Avoid cast to int. · 40c4cbcd
      * obstack.h [!GNUC] (obstack_free): Avoid cast to int.
      * ansidecl.h (ENUM_BITFIELD): Always use enum in C++
      
      From-SVN: r180321
      DJ Delorie committed
    • Daily bump. · 799ae3ed
      From-SVN: r180320
      GCC Administrator committed
  4. 21 Oct, 2011 11 commits