1. 12 Jun, 2013 13 commits
  2. 11 Jun, 2013 18 commits
  3. 10 Jun, 2013 9 commits
    • dwarf2out.c (hash_external_ref): Use die_symbol or signature for hash so that… · a5dc7f88
      dwarf2out.c (hash_external_ref): Use die_symbol or signature for hash so that hash table traversal order is...
      
      2013-06-10  Cary Coutant  <ccoutant@google.com>
      
      gcc/
      	* dwarf2out.c (hash_external_ref): Use die_symbol or signature
      	for hash so that hash table traversal order is deterministic.
      
      From-SVN: r199927
      Cary Coutant committed
    • re PR c/57563 (Lots of Cilk+ failures on i686-linux) · 00b8517d
      Fix for PR c/57563
      gcc/c/ChangeLog
      +2013-06-10  Balaji V. Iyer  <balaji.v.iyer@intel.com>
      +
      +       * c-array-notation.c (fix_builtin_array_notation_fn): Fully folded
      +       excessive precision expressions in function parameters.  Also removed
      +       couple unwanted while statements.
      +
      
      gcc/testsuite/ChangeLog
      +2013-06-10  Balaji V. Iyer  <balaji.v.iyer@intel.com>
      +
      +       PR c/57563
      +       * c-c++-common/cilk-plus/AN/builtin_fn_mutating.c (main): Fixed a bug
      +       in how we check __sec_reduce_mutating function's result.
      +
      
      From-SVN: r199925
      Balaji V. Iyer committed
    • c++config (_GLIBCXX_ABI_TAG_CXX11): Add. · 3b31a727
      2013-06-10  Benjamin Kosnik  <bkoz@redhat.com>
      
      	* include/bits/c++config (_GLIBCXX_ABI_TAG_CXX11): Add.
      	* include/bits/stl_map.h (erase): Use abi_tag when C++11.
      	* include/bits/stl_multimap.h: Same.
      	* include/bits/stl_multiset.h: Same.
      	* include/bits/stl_set.h: Same.
      	* include/bits/stl_tree.h: Same.
      	* include/std/complex (real, imag): Use macro for abi_tag.
      
      	* testsuite/lib/libstdc++.exp: Disable inlinling with -fno-inline.
      	* testsuite/util/testsuite_containers.h (erase_external): New
      	declarations.
      	(erase_external_iterators): Same.
      	(linkage_check_cxx98_cxx11_erase): Same.
      	(linkage_check_cxx98_cxx11_erase_iterators): Same.
      	* testsuite/util/testsuite_shared.cc: Define.
      	* testsuite/23_containers/map/modifiers/erase/abi_tag.cc: New.
      	* testsuite/23_containers/map/modifiers/erase/
      	dr130-linkage-check.cc: New.
      	* testsuite/23_containers/multimap/modifiers/erase/abi_tag.cc: New.
      	* testsuite/23_containers/multimap/modifiers/erase/
      	dr130-linkage-check.cc: New.
      	* testsuite/23_containers/multiset/modifiers/erase/abi_tag.cc: New.
      	* testsuite/23_containers/multiset/modifiers/erase/
      	dr130-linkage-check.cc: New.
      	* testsuite/23_containers/set/modifiers/erase/abi_tag.cc: New.
      	* testsuite/23_containers/set/modifiers/erase/dr130-linkage-check.cc:
      	New.
      	* testsuite/ext/profile/mutex_extensions_neg.cc: Adjust line number.
      
      	* testsuite/23_containers/map/dr130.cc: Move...
      	* testsuite/23_containers/map/modifiers/dr130.cc: ...here.
      	* testsuite/23_containers/multimap/dr130.cc: Move ...
      	* testsuite/23_containers/multimap/modifiers/dr130.cc: ...here.
      	* testsuite/23_containers/multiset/dr130.cc: Move...
      	* testsuite/23_containers/multiset/modifiers/dr130.cc: ...here.
      	* testsuite/23_containers/set/dr130.cc: Move...
      	* testsuite/23_containers/set/modifiers/dr130.cc: ...here.
      
      From-SVN: r199924
      Benjamin Kosnik committed
    • vector.md (GPR move splitter): Do not split moves of vectors in GPRS if they are… · 19be72ab
      vector.md (GPR move splitter): Do not split moves of vectors in GPRS if they are direct moves or quad word...
      
      [gcc]
      2013-06-10  Michael Meissner  <meissner@linux.vnet.ibm.com>
      	    Pat Haugen <pthaugen@us.ibm.com>
      	    Peter Bergner <bergner@vnet.ibm.com>
      
      	* config/rs6000/vector.md (GPR move splitter): Do not split moves
      	of vectors in GPRS if they are direct moves or quad word load or
      	store moves.
      
      	* config/rs6000/rs6000-protos.h (rs6000_output_move_128bit): Add
      	declaration.
      	(direct_move_p): Likewise.
      	(quad_load_store_p): Likewise.
      
      	* config/rs6000/rs6000.c (enum rs6000_reg_type): Simplify register
      	classes into bins based on the physical register type.
      	(reg_class_to_reg_type): Likewise.
      	(IS_STD_REG_TYPE): Likewise.
      	(IS_FP_VECT_REG_TYPE): Likewise.
      	(reload_fpr_gpr): Arrays to determine what insn to use if we can
      	use direct move instructions.
      	(reload_gpr_vsx): Likewise.
      	(reload_vsx_gpr): Likewise.
      	(rs6000_init_hard_regno_mode_ok): Precalculate the register type
      	information that is a simplification of register classes.  Also
      	precalculate direct move reload helpers.
      	(direct_move_p): New function to return true if the operation can
      	be done as a direct move instruciton.
      	(quad_load_store_p): New function to return true if the operation
      	is a quad memory operation.
      	(rs6000_legitimize_address): If quad memory, only allow register
      	indirect for TImode addresses.
      	(rs6000_legitimate_address_p): Likewise.
      	(enum reload_reg_type): Delete, replace with rs6000_reg_type.
      	(rs6000_reload_register_type): Likewise.
      	(register_to_reg_type): Return register type.
      	(rs6000_secondary_reload_simple_move): New helper function for
      	secondary reload and secondary memory needed to identify anything
      	that is a simple move, and does not need reloading.
      	(rs6000_secondary_reload_direct_move): New helper function for
      	secondary reload to identify cases that can be done with several
      	instructions via the direct move instructions.
      	(rs6000_secondary_reload_move): New helper function for secondary
      	reload to identify moves between register types that can be done.
      	(rs6000_secondary_reload): Add support for quad memory operations
      	and for direct move.
      	(rs6000_secondary_memory_needed): Likewise.
      	(rs6000_debug_secondary_memory_needed): Change argument names.
      	(rs6000_output_move_128bit): New function to return the move to
      	use for 128-bit moves, including knowing about the various
      	limitations of quad memory operations.
      
      	* config/rs6000/vsx.md (vsx_mov<mode>): Add support for quad
      	memory operations.  call rs6000_output_move_128bit for the actual
      	instruciton(s) to generate.
      	(vsx_movti_64bit): Likewise.
      
      	* config/rs6000/rs6000.md (UNSPEC_P8V_FMRGOW): New unspec values.
      	(UNSPEC_P8V_MTVSRWZ): Likewise.
      	(UNSPEC_P8V_RELOAD_FROM_GPR): Likewise.
      	(UNSPEC_P8V_MTVSRD): Likewise.
      	(UNSPEC_P8V_XXPERMDI): Likewise.
      	(UNSPEC_P8V_RELOAD_FROM_VSX): Likewise.
      	(UNSPEC_FUSION_GPR): Likewise.
      	(FMOVE128_GPR): New iterator for direct move.
      	(f32_lv): New mode attribute for load/store of SFmode/SDmode
      	values.
      	(f32_sv): Likewise.
      	(f32_dm): Likewise.
      	(zero_extend<mode>di2_internal1): Add support for power8 32-bit
      	loads and direct move instructions.
      	(zero_extendsidi2_lfiwzx): Likewise.
      	(extendsidi2_lfiwax): Likewise.
      	(extendsidi2_nocell): Likewise.
      	(floatsi<mode>2_lfiwax): Likewise.
      	(lfiwax): Likewise.
      	(floatunssi<mode>2_lfiwzx): Likewise.
      	(lfiwzx): Likewise.
      	(fix_trunc<mode>_stfiwx): Likewise.
      	(fixuns_trunc<mode>_stfiwx): Likewise.
      	(mov<mode>_hardfloat, 32-bit floating point): Likewise.
      	(mov<move>_hardfloat64, 64-bit floating point): Likewise.
      	(parity<mode>2_cmpb): Set length/type attr.
      	(unnamed shift right patterns, mov<mode>_internal2): Change type attr
      	for 'mr.' to fast_compare.
      	(bpermd_<mode>): Change type attr to popcnt.
      	(p8_fmrgow_<mode>): New insns for power8 direct move support.
      	(p8_mtvsrwz_1): Likewise.
      	(p8_mtvsrwz_2): Likewise.
      	(reload_fpr_from_gpr<mode>): Likewise.
      	(p8_mtvsrd_1): Likewise.
      	(p8_mtvsrd_2): Likewise.
      	(p8_xxpermdi_<mode>): Likewise.
      	(reload_vsx_from_gpr<mode>): Likewise.
      	(reload_vsx_from_gprsf): Likewise.
      	(p8_mfvsrd_3_<mode>): LIkewise.
      	(reload_gpr_from_vsx<mode>): Likewise.
      	(reload_gpr_from_vsxsf): Likewise.
      	(p8_mfvsrd_4_disf): Likewise.
      	(multi-word GPR splits): Do not split direct moves or quad memory
      	operations.
      
      [gcc/testsuite]
      2013-06-10  Michael Meissner  <meissner@linux.vnet.ibm.com>
      	    Pat Haugen <pthaugen@us.ibm.com>
      	    Peter Bergner <bergner@vnet.ibm.com>
      
      	* gcc.target/powerpc/direct-move-vint1.c: New tests for power8
      	direct move instructions.
      	* gcc.target/powerpc/direct-move-vint2.c: Likewise.
      	* gcc.target/powerpc/direct-move.h: Likewise.
      	* gcc.target/powerpc/direct-move-float1.c: Likewise.
      	* gcc.target/powerpc/direct-move-float2.c: Likewise.
      	* gcc.target/powerpc/direct-move-double1.c: Likewise.
      	* gcc.target/powerpc/direct-move-double2.c: Likewise.
      	* gcc.target/powerpc/direct-move-long1.c: Likewise.
      	* gcc.target/powerpc/direct-move-long2.c: Likewise.
      
      
      Co-Authored-By: Pat Haugen <pthaugen@us.ibm.com>
      Co-Authored-By: Peter Bergner <bergner@vnet.ibm.com>
      
      From-SVN: r199918
      Michael Meissner committed
    • tree-into-ssa.c (interesting_blocks): Make static. · 16876bdc
      	* tree-into-ssa.c (interesting_blocks): Make static.
      
      From-SVN: r199911
      David Malcolm committed
    • name-lookup.c (add_decl_to_level): Add decls in an anonymous namespace to static_decls. · 5ee712eb
      	* name-lookup.c (add_decl_to_level): Add decls in an anonymous
      	namespace to static_decls.
      
      From-SVN: r199906
      Jason Merrill committed
    • Fixing ChangeLog entries. · 1c59edcc
      Fixing ChangeLog entries.  Moving cp/call.c change description to
      cp/ChangeLog file.
      
      From-SVN: r199900
      Sriraman Tallam committed
    • re PR c++/52440 ([C++11] Wrong template argument deduction/substitution failures) · f88ce95e
      2013-06-10  Paolo Carlini  <paolo.carlini@oracle.com>
      
      	PR c++/52440
      	* g++.dg/cpp0x/pr52440.C: New.
      
      From-SVN: r199899
      Paolo Carlini committed
    • re PR target/56564 (movdqa on possibly-8-byte-aligned struct with -O3) · df8a1d28
      	PR target/56564
      	* varasm.c (align_variable): Don't use DATA_ALIGNMENT or
      	CONSTANT_ALIGNMENT if !decl_binds_to_current_def_p (decl).
      	Use DATA_ABI_ALIGNMENT for that case instead if defined.
      	(get_variable_align): New function.
      	(get_variable_section, emit_bss, emit_common,
      	assemble_variable_contents, place_block_symbol): Use
      	get_variable_align instead of DECL_ALIGN.
      	(assemble_noswitch_variable): Add align argument, use it
      	instead of DECL_ALIGN.
      	(assemble_variable): Adjust caller.  Use get_variable_align
      	instead of DECL_ALIGN.
      	* config/i386/i386.h (DATA_ALIGNMENT): Adjust x86_data_alignment
      	caller.
      	(DATA_ABI_ALIGNMENT): Define.
      	* config/i386/i386-protos.h (x86_data_alignment): Adjust prototype.
      	* config/i386/i386.c (x86_data_alignment): Add opt argument.  If
      	opt is false, only return the psABI mandated alignment increase.
      	* config/c6x/c6x.h (DATA_ALIGNMENT): Renamed to...
      	(DATA_ABI_ALIGNMENT): ... this.
      	* config/mmix/mmix.h (DATA_ALIGNMENT): Renamed to...
      	(DATA_ABI_ALIGNMENT): ... this.
      	* config/mmix/mmix.c (mmix_data_alignment): Adjust function comment.
      	* config/s390/s390.h (DATA_ALIGNMENT): Renamed to...
      	(DATA_ABI_ALIGNMENT): ... this.
      	* doc/tm.texi.in (DATA_ABI_ALIGNMENT): Document.
      	* doc/tm.texi: Regenerated.
      
      	* gcc.target/i386/pr56564-1.c: New test.
      	* gcc.target/i386/pr56564-2.c: New test.
      	* gcc.target/i386/pr56564-3.c: New test.
      	* gcc.target/i386/pr56564-4.c: New test.
      	* gcc.target/i386/avx256-unaligned-load-4.c: Add -fno-common.
      	* gcc.target/i386/avx256-unaligned-store-1.c: Likewise.
      	* gcc.target/i386/avx256-unaligned-store-3.c: Likewise.
      	* gcc.target/i386/avx256-unaligned-store-4.c: Likewise.
      	* gcc.target/i386/vect-sizes-1.c: Likewise.
      	* gcc.target/i386/memcpy-1.c: Likewise.
      	* gcc.dg/vect/costmodel/i386/costmodel-vect-31.c (tmp): Initialize.
      	* gcc.dg/vect/costmodel/x86_64/costmodel-vect-31.c (tmp): Likewise.
      
      From-SVN: r199898
      Jakub Jelinek committed