1. 10 May, 2013 7 commits
    • i386.md (rotateinv): New code attr. · 6f93c008
      	* config/i386/i386.md (rotateinv): New code attr.
      	(*<rotate_insn><mode>3_1, *<rotate_insn>si3_1_zext,
      	*<rotate_insn>qi3_1_slp): Emit rorl %eax instead of
      	roll $31, %eax, etc.
      
      	* gcc.target/i386/rotate-1.c: Accept rolb or rorb instruction.
      
      From-SVN: r198770
      Jakub Jelinek committed
    • re PR tree-optimization/45216 (Rotate expressions not recognized at tree level) · cb3b8d33
      	PR tree-optimization/45216
      	PR tree-optimization/57157
      	* tree-ssa-forwprop.c (simplify_rotate): New function.
      	(ssa_forward_propagate_and_combine): Call it.
      
      	* c-c++-common/rotate-1.c: New test.
      	* c-c++-common/rotate-1a.c: New test.
      	* c-c++-common/rotate-2.c: New test.
      	* c-c++-common/rotate-2a.c: New test.
      	* c-c++-common/rotate-3.c: New test.
      	* c-c++-common/rotate-3a.c: New test.
      	* c-c++-common/rotate-4.c: New test.
      	* c-c++-common/rotate-4a.c: New test.
      
      From-SVN: r198769
      Jakub Jelinek committed
    • testsuite_abi.cc (check_version): Add CXXABI_1.3.8. · fb7f649d
      	* testsuite/util/testsuite_abi.cc (check_version): Add CXXABI_1.3.8.
      
      From-SVN: r198768
      Uros Bizjak committed
    • tree-vect-data-refs.c (vect_enhance_data_refs_alignment): Do not disable peeling… · afb119be
      tree-vect-data-refs.c (vect_enhance_data_refs_alignment): Do not disable peeling when we version for aliasing.
      
      2013-05-10  Richard Biener  <rguenther@suse.de>
      
      	* tree-vect-data-refs.c (vect_enhance_data_refs_alignment): Do not
      	disable peeling when we version for aliasing.
      	(vector_alignment_reachable_p): Honor explicit user alignment.
      	(vect_supportable_dr_alignment): Likewise.
      	* tree-vect-loop-manip.c (vect_can_advance_ivs_p): Use
      	STMT_VINFO_LOOP_PHI_EVOLUTION_PART instead of recomputing it.
      	* tree-vect-loop.c (vect_transform_loop): First apply versioning,
      	then peeling to arrange for the cost-model check to come first.
      
      	* gcc.target/i386/avx256-unaligned-load-2.c: Make well-defined.
      	* gcc.target/i386/l_fma_double_1.c: Adjust.
      	* gcc.target/i386/l_fma_double_2.c: Likewise.
      	* gcc.target/i386/l_fma_double_3.c: Likewise.
      	* gcc.target/i386/l_fma_double_4.c: Likewise.
      	* gcc.target/i386/l_fma_double_5.c: Likewise.
      	* gcc.target/i386/l_fma_double_6.c: Likewise.
      	* gcc.target/i386/l_fma_float_1.c: Likewise.
      	* gcc.target/i386/l_fma_float_2.c: Likewise.
      	* gcc.target/i386/l_fma_float_3.c: Likewise.
      	* gcc.target/i386/l_fma_float_4.c: Likewise.
      	* gcc.target/i386/l_fma_float_5.c: Likewise.
      	* gcc.target/i386/l_fma_float_6.c: Likewise.
      
      From-SVN: r198767
      Richard Biener committed
    • configure.ac (HAVE_AS_TLS): Swap powerpc64 and powerpc cases. · 01ae4861
      	* configure.ac (HAVE_AS_TLS): Swap powerpc64 and powerpc cases.
      	(HAVE_LD_LARGE_TOC): Don't mention AIX in help text.
      	* configure: Regenerate.
      
      From-SVN: r198766
      Alan Modra committed
    • re PR target/55033 (PowerPC section type conflict error) · ebc9a431
      	PR target/55033
      	* varasm.c (default_elf_select_section): Move !DECL_P check..
      	(get_named_section): ..to here before calling get_section_name.
      	Adjust assertion.
      	(default_section_type_flags): Add DECL_P check.
      	* config/i386/winnt.c (i386_pe_section_type_flags): Likewise.
      	* config/rs6000/rs6000.c (rs6000_xcoff_section_type_flags): Likewise.
      
      From-SVN: r198762
      Alan Modra committed
    • Daily bump. · 65267ae9
      From-SVN: r198760
      GCC Administrator committed
  2. 09 May, 2013 17 commits
    • epiphany.c (epiphany_expand_prologue): When using gen_stack_adjust_str with a register offset... · d4bca93c
              * config/epiphany/epiphany.c (epiphany_expand_prologue):
              When using gen_stack_adjust_str with a register offset, add a
              REG_FRAME_RELATED_EXPR note.
      
      From-SVN: r198753
      Joern Rennecke committed
    • sse.md (*vec_extractv4si_0_zext): New pattern. · 60ca9a65
      	* config/i386/sse.md (*vec_extractv4si_0_zext): New pattern.
      	(*vec_extractv4si_zext_mem): Ditto.
      	(*vec_extractv2di): Add 0->x and x->x alternatives.
      	* config/i386/mmx.md (*vec_extractv2si_zext_mem): New pattern.
      	* config/i386/i386.md (*zero_extendsidi2): Add *Yj->?r alternative.
      
      From-SVN: r198752
      Uros Bizjak committed
    • re PR c++/57222 (Template alias not working in argument of template class template method) · 26863a32
      	PR c++/57222
      	* pt.c (lookup_template_class_1): Handle getting a template
      	template parameter as D1.
      
      From-SVN: r198747
      Jason Merrill committed
    • N3639 C++1y VLA diagnostics · a57dbdaa
      	* decl.c (grokdeclarator): Complain about reference, pointer, or
      	typedef to VLA.
      	(create_array_type_for_decl): Complain about array of VLA.
      	* pt.c (tsubst): Likewise.
      	* rtti.c (get_tinfo_decl): Talk about "array of runtime bound".
      	* semantics.c (finish_decltype_type): Complain about decltype of VLA.
      	* typeck.c (cp_build_addr_expr_1): Complain about VLA.
      	(cxx_sizeof_or_alignof_type): Likewise.
      
      From-SVN: r198746
      Jason Merrill committed
    • N3639 C++1y VLA support · 0138d6b2
      gcc/
      	* gimplify.c (gimplify_vla_decl): Don't touch an existing
      	DECL_VALUE_EXPR.
      gcc/cp/
      	* decl.c (compute_array_index_type): Allow VLAs in C++1y mode.
      	(check_array_initializer): Allow VLA init.
      	(reshape_init_array_1): Adjust.
      	(cp_finish_decl): Check for invalid VLA length.
      	* typeck2.c (process_init_constructor_array): Adjust.
      	(store_init_value): Use build_vec_init for VLAs.
      	* semantics.c (add_capture): Capture VLA as ptr+len.
      	(vla_capture_type): New.
      	(build_capture_proxy): Rebuild the VLA.
      	* typeck.c (build_simple_component_ref): Split out from...
      	(build_ptrmemfunc_access_expr): ...here.
      	* tree.c (array_of_runtime_bound_p): New.
      	* init.c (throw_bad_array_length): New.
      	(build_vec_init): Use it.
      	* parser.c (cp_convert_range_for): When iterating over a VLA,
      	use it directly rather than bind a reference.
      	* cp-tree.h: Declare new functions.
      libstdc++-v3/
      	* libsupc++/new: Add std::bad_array_length.
      	* libsupc++/bad_array_length.cc: New.
      	* libsupc++/eh_aux_runtime.cc: Add __cxa_bad_array_length.
      	* libsupc++/Makefile.in: Build them.
      	* config/abi/pre/gnu.ver: Add new symbols.
      	* config/abi/pre/gnu-versioned-namespace.ver: Add new symbols.
      
      From-SVN: r198745
      Jason Merrill committed
    • tree.c (build_constructor_va): New. · a3409c02
      	* tree.c (build_constructor_va): New.
      	* tree.h: Declare it.
      
      From-SVN: r198744
      Jason Merrill committed
    • re PR lto/57084 (483. xalancbmk run fails with -O2 -flto for i686) · 66e6b990
      2013-05-09  Martin Jambor  <mjambor@suse.cz>
      
      	PR lto/57084
      	* gimple-fold.c (canonicalize_constructor_val): Call
      	cgraph_get_create_real_symbol_node instead of cgraph_get_create_node.
      
      From-SVN: r198743
      Martin Jambor committed
    • Jan Hubicka <jh@suse.cz> · 64cfa6c0
      	Richard Biener  <rguenther@suse.de>
      
      	PR lto/54095
      	* symtab.c (symtab_make_decl_local): Do not add private names.
      
      	* lto.c (lto_register_var_decl_in_symtab): Don't do renaming.
      	(lto_register_var_decl_in_symtab): Likewise.
      	(lto_main): Promote statics.
      	* lto-partition.c (privatize_symbol_name): New function.
      	(promote_symbol): Use it.
      	(may_need_named_section_p): New predicate.
      	(rename_statics): New functions.
      	(lto_promote_cross_file_statics): Simplify; do renaming.
      	(lto_promote_statics_nonwpa): New function.
      	* lto-partition.h (lto_promote_statics_nonwpa): New function.
      
      Co-Authored-By: Richard Biener <rguenther@suse.de>
      
      From-SVN: r198741
      Jan Hubicka committed
    • re PR lto/54095 (Unnecessary static variable renaming) · c3167b00
      
      	PR lto/54095
      	* symtab.c (insert_to_assembler_name_hash): Handle clones.
      	(unlink_from_assembler_name_hash): Likewise.
      	(symtab_prevail_in_asm_name_hash, symtab_register_node,
      	symtab_unregister_node, symtab_initialize_asm_name_hash,
      	change_decl_assembler_name): Update.
      
      From-SVN: r198736
      Jan Hubicka committed
    • aarch64.md: New movtf split. · 12dc6974
      	* config/aarch64/aarch64.md: New movtf split.
      	(*movtf_aarch64): Update.
      	(aarch64_movdi_tilow): Handle TF modes and rename to
      	aarch64_movdi_<mode>low.
      	(aarch64_movdi_tihigh): Handle TF modes and rename to
      	aarch64_movdi_<mode>high
      	(aarch64_movtihigh_di): Handle TF modes and rename to
      	aarch64_mov<mode>high_di
      	(aarch64_movtilow_di): Handle TF modes and rename to
      	aarch64_mov<mode>low_di
      	(aarch64_movtilow_tilow): Remove spurious whitespace.
      	* config/aarch64/aarch64.c (aarch64_split_128bit_move): Handle TFmode
      	splits.
      	(aarch64_print_operand): Update.
      
      From-SVN: r198735
      Sofiane Naci committed
    • configure.ac (HAVE_AS_TLS): Enable tests for powerpcle and powerpc64le. · 227eb343
      	* configure.ac (HAVE_AS_TLS): Enable tests for powerpcle and
      	powerpc64le.
      	* configure: Regenerate.
      
      From-SVN: r198734
      Alan Modra committed
    • Mark all member functions with memory models always inline v2 · a062bb4b
      When a non constant memory model is passed to __atomic_*
      gcc falls back to seq_cst. This drops any HLE acquire or release bits.
      
      This can happen when <atomic> is used with -O0
      as the member functions are not always inlined then and the memory
      argument passed in ends up being non-constant.
      
      v2: Use _GLIBCXX_ALWAYS_INLINE
      
      libstdc++-v3/:
      
      2013-05-08  Andi Kleen  <ak@linux.intel.com>
      
      	PR target/55947
      	* libstdc++-v3/include/bits/atomic_base.h
      	(_GLIBCXX_ALWAYS_INLINE): Add new macro.
      	(atomic_thread_fence, atomic_signal_fence, test_and_set,
      	clear, store, load, exchange, compare_exchange_weak)
      	compare_exchange_strong, fetch_add, fetch_sub, fetch_and,
      	fetch_or, fetch_xor): Mark _GLIBCXX_ALWAYS_INLINE.
      
      From-SVN: r198733
      Andi Kleen committed
    • except.c (is_admissible_throw_operand_or_catch_parameter): Check variably_modified_type_p. · 785b887e
      	* except.c (is_admissible_throw_operand_or_catch_parameter): Check
      	variably_modified_type_p.
      	(expand_start_catch_block): Mark the typeinfo used here.
      	* semantics.c (finish_handler_parms): Not here.
      
      	* error.c (dump_type_suffix): Try harder on VLA length.
      
      From-SVN: r198732
      Jason Merrill committed
    • Core 624/N2932: Throw bad_array_new_length on overflow · 7d5e76c8
      	in array new size calculation.
      
      libstdc++-v3/
      	* libsupc++/new: Add std::bad_array_new_length.
      	* libsupc++/bad_array_new.cc: New.
      	* libsupc++/eh_aux_runtime.cc: Add __cxa_throw_bad_array_new_length.
      	* libsupc++/Makefile.in: Build them.
      	* config/abi/pre/gnu.ver: Add new symbols.
      	* config/abi/pre/gnu-versioned-namespace.ver: Add new symbols.
      gcc/cp/
      	* init.c (throw_bad_array_new_length): New.
      	(build_new_1): Use it.  Don't warn about braced-init-list.
      	(build_vec_init): Use it.
      	* call.c (build_operator_new_call): Use it.
      
      From-SVN: r198731
      Jason Merrill committed
    • re PR c++/57068 (gcc prints warning "ref-qualifiers only available with… · b0f36e5e
      re PR c++/57068 (gcc prints warning "ref-qualifiers only available with -std=c++0x or -std=gnu++0x" for operator&)
      
      	PR c++/57068
      	* decl.c (grokdeclarator): Warn about ref-qualifiers here.
      	* parser.c (cp_parser_ref_qualifier_seq_opt): Not here.
      	* error.c (maybe_warn_cpp0x): s/0x/11/.
      
      From-SVN: r198730
      Jason Merrill committed
    • Daily bump. · 65424645
      From-SVN: r198729
      GCC Administrator committed
  3. 08 May, 2013 14 commits
  4. 07 May, 2013 2 commits
    • 2013-05-07 Han Shen <shenhan@google.com> · 12584362
          Added 2 missing files that should be included in the previous
          submitted patch trunk@r198699.
      
      From-SVN: r198700
      Han Shen committed
    • cfgexpand.c (record_or_union_type_has_array_p): New function. · f6bc1c4a
      2013-05-07  Han Shen  <shenhan@google.com>
      
          gcc/
          * cfgexpand.c (record_or_union_type_has_array_p): New function.
          (expand_used_vars): Add logic handling '-fstack-protector-strong'.
          * common.opt (fstack-protector-strong): New option.
          * doc/cpp.texi (__SSP_STRONG__): New builtin "__SSP_STRONG__".
          * doc/invoke.texi (Optimization Options): Document
          "-fstack-protector-strong".
          * gcc.c (LINK_SSP_SPEC): Add 'fstack-protector-strong'.
      
          gcc/testsuite/
          * gcc.dg/fstack-protector-strong.c: New.
          * g++.dg/fstack-protector-strong.C: New.
      
          gcc/c-family/
          * c-cppbuiltin.c (c_cpp_builtins): Added "__SSP_STRONG__=3".
      
      From-SVN: r198699
      Han Shen committed