1. 27 Aug, 2015 23 commits
    • remove -floop-* flags · d6bb5ccf
      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
      Sebastian Pop committed
    • compiler: Don't record dependencies of invalid redefinitions. · 31da952a
          
          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
      Ian Lance Taylor committed
    • remove -floop-unroll-and-jam · a5e5ea0c
      	* 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
      Sebastian Pop committed
    • re PR libstdc++/67374 (std::cbegin can't call valarray range access functions) · e994d230
      	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
      Jonathan Wakely committed
    • re PR target/67317 ([x86] Silly code generation for _addcarry_u32/_addcarry_u64) · a443ee6e
      	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
      Uros Bizjak committed
    • vector.md (vec_shr_<mode>): Fix to do a shift instead of a rotate. · 2b6fb4aa
      	* 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
      Pat Haugen committed
    • re PR middle-end/67005 (ICE: in verify_loop_structure, at cfgloop.c:1647 (loop… · b7e36a33
      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
      Marek Polacek committed
    • * configure: Regenerate. · 078c4a8c
      From-SVN: r227266
      Francois-Xavier Coudert committed
    • completely_scalarize arrays as well as records · 07ad3ec6
      gcc/:
      
      	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/:
      
      	* gcc.dg/tree-ssa/sra-15.c: New.
      
      From-SVN: r227265
      Alan Lawrence committed
    • Refactor completely_scalarize_var · f2511224
      	* tree-sra.c (completely_scalarize_var): Rename to...
      	(create_total_scalarization_access): ... Here. Drop call to
      	completely_scalarize_record.
      
      	(analyze_all_variable_accesses): Replace completely_scalarize_var
      	with create_total_scalarization_access and completely_scalarize_record.
      
      From-SVN: r227264
      Alan Lawrence committed
    • Update copyrights · dfa37515
      	libvtv:
      	Update copyrights.
      
      	contrib:
      	* update-copyright.py (GCCCmdLine): Add libvtv.
      
      From-SVN: r227262
      Rainer Orth committed
    • configure.ac: Remove [disable-shared] argument to LT_INIT. · 7e5c7547
      	* configure.ac: Remove [disable-shared] argument to LT_INIT.
      	Remove setting PIC_FLAG when building as target library.
      	* configure: Regenerate.
      
      From-SVN: r227261
      Ulrich Weigand committed
    • [RS6000] Correct constraints for ior<mode>_mask · 353e462d
      ior<mode>_mask always splits to rtl matching rotl<mode>3_insert.  The
      latter requires one of its input operands match the output, so let
      reload/lra know the equivalent operand match must also occur for
      ior<mode>_mask.
      
      	PR target/67356
      	* config/rs6000/rs6000.md (ior<mode>_mask): Use constraint "0"
      	for operand 1.
      
      From-SVN: r227260
      Alan Modra committed
    • passes.c (rest_of_decl_compilation): Guard early_global_decl call with !seen_error (). · f11cd829
      2015-08-27  Richard Biener  <rguenther@suse.de>
      
      	* passes.c (rest_of_decl_compilation): Guard early_global_decl
      	call with !seen_error ().
      	* cgraphunit.c (symbol_table::finalize_compilation_unit): Move
      	early debug generation and finish...
      	(symbol_table::compile): ... here to put it after a !seen_error ()
      	guard.
      
      From-SVN: r227258
      Richard Biener committed
    • Provide nearly complete std::locale support for DragonFly · a98e4e62
      2015-08-27  John Marino  <gnugcc@marino.st>
      
      	* acinclude.m4 (*-*-dragonfly*): Change 7 locale support files
      	from generic to new DragonFly versions.
      	* configure: Regenerate.
      	* config/locale/dragonfly/c_locale.cc: Improve locale support.
      	* config/locale/dragonfly/ctype_members.cc: Likewise.
      	* config/os/bsd/dragonfly/ctype_configure_char.cc: Likewise.
      	* config/os/bsd/dragonfly/os_defines.h: Define _GLIBCXX_USE_C99.
      	* config/locale/dragonfly/c_locale.h: New.
      	* config/locale/dragonfly/codecvt_members.cc: New.
      	* config/locale/dragonfly/collate_members.cc: New.
      	* config/locale/dragonfly/monetary_members.cc: New.
      	* config/locale/dragonfly/numeric_members.cc: New.
      	* config/locale/dragonfly/time_members.cc: New.
      	* config/locale/dragonfly/time_members.h: New.
      
      From-SVN: r227257
      John Marino committed
    • * configure: Regenerate. · a185c876
      From-SVN: r227256
      Jonathan Wakely committed
    • Use __cxa_atexit on Solaris 12+ · 29424c7b
      	* config.gcc (*-*-solaris2*): Enable default_use_cxa_atexit on
      	Solaris 12+.
      
      From-SVN: r227255
      Rainer Orth committed
    • Avoid unstructured procfs on Solaris · 58f51f50
      	* os_dep.c [GC_SOLARIS_THREADS] (GC_dirty_init): Use
      	/proc/<pid>/pagedata instead of PIOCOPENPD.
      
      From-SVN: r227254
      Rainer Orth committed
    • aarch64.md (*condjump): Handle functions > 1 MiB. · 973d2e01
      2015-08-27  Ramana Radhakrishnan  <ramana.radhakrishnan@arm.com>
                  Andre Vieira  <andre.simoesdiasvieira@arm.com>
      
          gcc/
          * config/aarch64/aarch64.md (*condjump): Handle functions > 1 MiB.
          (*cb<optab><mode>1): Likewise.
          (*tb<optab><mode>1): Likewise.
          (*cb<optab><mode>1): Likewise.
          * config/aarch64/iterators.md (inv_cb): New code attribute.
          (inv_tb): Likewise.
          * config/aarch64/aarch64.c (aarch64_gen_far_branch): New.
          * config/aarch64/aarch64-protos.h (aarch64_gen_far_branch): New.
      
          gcc/testsuite/
          * gcc.target/aarch64/long_branch_1.c: New test.
      
      From-SVN: r227253
      Thomas Preud'homme committed
    • ipa.c (cgraph_build_static_cdtor_1): Set DECL_IGNORED_P. · 3f2dd8cd
      2015-08-27  Richard Biener  <rguenther@suse.de>
      
      	* ipa.c (cgraph_build_static_cdtor_1): Set DECL_IGNORED_P.
      
      From-SVN: r227252
      Richard Biener committed
    • S/390: Add emit_barrier() after trap · d26d508a
      gcc/ChangeLog
      
      	* config/s390/s390.c (s390_emit_prologue): Add emit_barrier() after
      	trap to fix ICE.
      
      gcc/testsuite/ChangeLog
      
      	* gcc.target/s390/20150826-1.c: New test.
      
      From-SVN: r227251
      Dominik Vogt committed
    • compiler: Don't crash on invalid builtin calls. · d8d9efb3
          
          Fixes golang/go#11544.
          
          Reviewed-on: https://go-review.googlesource.com/13893
      
      From-SVN: r227245
      Ian Lance Taylor committed
    • Daily bump. · d252f921
      From-SVN: r227244
      GCC Administrator committed
  2. 26 Aug, 2015 17 commits
    • Ensure std::generate_canonical doesn't return 1. · 33df19a7
      2015-08-26  Edward Smith-Rowland  <3dw4rd@verizon.net>
      	    Jonathan Wakely  <jwakely@redhat.com>
      
      	PR libstdc++/64351
      	PR libstdc++/63176
      	* include/bits/random.tcc (generate_canonical): Loop until we get a
      	result less than one.
      	* testsuite/26_numerics/random/uniform_real_distribution/operators/
      	64351.cc: New.
      
      Co-Authored-By: Jonathan Wakely <jwakely@redhat.com>
      
      From-SVN: r227233
      Edward Smith-Rowland committed
    • Only set std::enable_shared_from_this member once. · 6bc41b26
      	* include/bits/shared_ptr.h (__enable_shared_from_this_helper): Use
      	nullptr.
      	* include/bits/shared_ptr_base.h (weak_ptr::_M_assign): Don't assign
      	if ownership is already shared with a shared_ptr object.
      	(__enable_shared_from_this_helper): Use nullptr.
      	* testsuite/20_util/enable_shared_from_this/members/const.cc: New.
      	* testsuite/20_util/enable_shared_from_this/members/reinit.cc: New.
      	* testsuite/20_util/enable_shared_from_this/requirements/
      	explicit_instantiation.cc: Instantiate with const and incomplete types.
      
      From-SVN: r227232
      Jonathan Wakely committed
    • Delete extra blank line · 2d1a0c68
      From-SVN: r227231
      Michael Meissner committed
    • rs6000-protos.h (rs6000_expand_float128_convert): Add declaration. · 526303ec
      2015-08-26  Michael Meissner  <meissner@linux.vnet.ibm.com>
      
      	* config/rs6000/rs6000-protos.h (rs6000_expand_float128_convert):
      	Add declaration.
      
      	* config/rs6000/rs6000.c (rs6000_emit_le_vsx_store): Fix a
      	comment.
      	(rs6000_cannot_change_mode_class): Add support for IEEE 128-bit
      	floating point in VSX registers.
      	(rs6000_output_move_128bit): Always print out the set insn if we
      	can't generate an appropriate 128-bit move.
      	(rs6000_generate_compare): Add support for IEEE 128-bit floating
      	point in VSX registers comparisons.
      	(rs6000_expand_float128_convert): Likewise.
      
      	* config/rs6000/predicates.md (int_reg_operand_not_pseudo): New
      	predicate for only GPR hard registers.
      
      	* config/rs6000/rs6000.md (FP): Add IEEE 128-bit floating point
      	modes to iterators. Add new iterators for moving 128-bit values in
      	scalar FPR registers and VSX registers.
      	(FMOVE128): Likewise.
      	(FMOVE128_FPR): Likewise.
      	(FMOVE128_GPR): Likewise.
      	(FMOVE128_VSX): Likewise.
      	(FLOAT128_SFDFTF): New iterators for IEEE 128-bit floating point
      	in VSX registers.
      	(IFKF): Likewise.
      	(IBM128): Likewise.
      	(TFIFKF): Likewise.
      	(RELOAD): Add IEEE 128-bit floating point modes.
      	(signbittf2): Convert TF insns to add support for new IEEE 128-bit
      	floating point in VSX registers modes.
      	(signbit<mode>2, IBM128 iterator): Likewise.
      	(mov<mode>_64bit_dm, FMOVE128_FPR iterator): Likewise.
      	(mov<mode>_32bit, FMOVE128_FPR iterator): Likewise.
      	(negtf2): Likewise.
      	(neg<mode>2, TFIFKF iterator): Likewise.
      	(negtf2_internal): Likewise.
      	(abstf2): Likewise.
      	(abs<mode>2, TFIFKF iterator): Likewise.
      	(ieee_128bit_negative_zero): New IEEE 128-bit floating point in
      	VSX insn support for negate, absolute value, and negative absolute
      	value.
      	(ieee_128bit_vsx_neg<mode>2): Likewise.
      	(ieee_128bit_vsx_neg<mode>2_internal): Likewise.
      	(ieee_128bit_vsx_abs<mode>2): Likewise.
      	(ieee_128bit_vsx_abs<mode>2_internal): Likewise.
      	(ieee_128bit_vsx_nabs<mode>2): Likewise.
      	(ieee_128bit_vsx_nabs<mode>2_internal): Likewise.
      	(FP128_64): Update pack/unpack 128-bit insns for IEEE 128-bit
      	floating point in VSX registers.
      	(unpack<mode>_dm): Likewise.
      	(unpack<mode>_nodm): Likewise.
      	(pack<mode>): Likewise.
      	(unpackv1ti): Likewise.
      	(unpack<mode>, FMOVE128_VSX iterator): Likewise.
      	(packv1ti): Likewise.
      	(pack<mode>, FMOVE128_VSX iterator): Likewise.
      	(extenddftf2): Add support for IEEE 128-bit floating point in VSX
      	registers.
      	(extenddftf2_internal): Likewise.
      	(trunctfdf2): Likewise.
      	(trunctfdf2_internal2): Likewise.
      	(fix_trunc_helper): Likewise.
      	(fix_trunctfdi2"): Likewise.
      	(floatditf2): Likewise.
      	(floatuns<mode>tf2): Likewise.
      	(extend<FLOAT128_SFDFTF:mode><IFKF:mode>2): Likewise.
      	(trunc<IFKF:mode><FLOAT128_SFDFTF:mode>2): Likewise.
      	(fix_trunc<IFKF:mode><SDI:mode>2): Likewise.
      	(fixuns_trunc<IFKF:mode><SDI:mode>2): Likewise.
      	(float<SDI:mode><IFKF:mode>2): Likewise.
      	(floatuns<SDI:mode><IFKF:mode>2): Likewise.
      
      From-SVN: r227230
      Michael Meissner committed
    • try_emplace and insert_or_assign for Debug Mode. · 66c182be
      	* include/debug/map.h (map::try_emplace, map::insert_or_assign):
      	Define.
      	* include/debug/unordered_map (unordered_map::try_emplace,
      	unordered_map::insert_or_assign): Define.
      
      From-SVN: r227229
      Jonathan Wakely committed
    • libstdc++/66902 Make _S_debug_messages static. · e41fd1f0
      	PR libstdc++/66902
      	* src/c++11/debug.cc (_S_debug_messages): Give internal linkage.
      
      From-SVN: r227228
      Jonathan Wakely committed
    • compiler: Don't crash on invalid arithmetic ops. · 8a256400
          
          The gofrontend would crash after hitting an unreachable state while
          trying to determine the type of an arithmetic expression involving
          non-numeric values.  Instead of crashing, it should fail gracefully
          if the relevant error is already reported.
          
          Fixes golang/go#11537.
          
          Reviewed-on: https://go-review.googlesource.com/13793
      
      From-SVN: r227227
      Ian Lance Taylor committed
    • [PATCH][AARCH64]Add backend aarch64_bfi pattern. · e4f019d3
      2015-08-26  Renlin Li  <renlin.li@arm.com>
      
      gcc/
      	* config/aarch64/aarch64.md (aarch64_bfi): New pattern.
      
      gcc/testsuite/
      	* gcc.target/aarch64/combine_bfi_1.c: New.
      
      From-SVN: r227226
      Renlin Li committed
    • [AArch64][TLSIE][2/2] Implement TLS IE for tiny model · 5ae7caad
      2015-08-26  Marcus Shawcroft  <marcus.shawcroft@arm.com>
      	    Jiong Wang  <jiong.wang@arm.com>
      gcc/
      	* config/aarch64/aarch64.md (UNSPEC_GOTTINYTLS): New UNSPEC.
      	(tlsie_tiny_<mode>): New define_insn.
      	(tlsie_tiny_sidi): Likewise.
      	* config/aarch64/aarch64-protos.h (aarch64_symbol_type): Define
      	SYMBOL_TINY_TLSIE.
      	(aarch64_symbol_context): New comment for SYMBOL_TINY_TLSIE.
      	* config/aarch64/aarch64.c (aarch64_load_symref_appropriately): Support
      	SYMBOL_TINY_TLSIE.
      	(aarch64_expand_mov_immediate): Likewise.
      	(aarch64_print_operand): Likewise.
      	(arch64_classify_tls_symbol): Likewise.
      
      gcc/testsuite/
      	* gcc.target/aarch64/tlsie_tiny_1.c: New testcase.
      
      From-SVN: r227220
      Jiong Wang committed
    • arm-arches.def: Replace single value flags with an initializer built from ARM_FSET_MAKE_CPU1. · e656fbc8
      2015-08-26  Matthew Wahab  <matthew.wahab@arm.com>
      
      	* config/arm/arm-arches.def: Replace single value flags with
      	an initializer built from ARM_FSET_MAKE_CPU1.
      	* config/arm/arm-cores.def: Likewise.
      	* config/arm/arm.c: (all_cores): Remove ARM_FSET_MAKE_CPU1
      	derivation from the ARM_CORE macro definition, use the given value
      	instead.
      	(all_architectures): Remove ARM_FSET_MAKE_CPU1 derivation from the
      	ARM_ARCH macro definition, use the given value instead.
      
      From-SVN: r227219
      Matthew Wahab committed
    • arm-builtins.c (def_mbuiltin): Test all flags in a feature set. · 23b9ccbe
      2015-08-26  Matthew Wahab  <matthew.wahab@arm.com>
      
      	* config/arm/arm-builtins.c (def_mbuiltin): Test all flags in a
      	feature set.
      	(struct builtin_description): Replace field mask with field
      	features.
      	(IWMMXT_BUILTIN): Use ARM_FSET macros for feature flags.
      	(IWMMXT2_BUILTIN): Likewise.
      	(IWMMXT2_BUILTIN2): Likewise.
      	(FP_BUILTIN): Likewise.
      	(CRC32_BUILTIN): Likewise.
      	(CRYPTO_BUILTIN): Likewise.
      	(iwmmx_mbuiltin): Likewise.
      	(iwmmx2_mbuiltin): Likewise.
      	(arm_init_iwmmxt_builtins): Likewise. Also, update for change to
      	struct builtin_description.
      
      From-SVN: r227218
      Matthew Wahab committed
    • arm-builtins.c (def_mbuiltin): Use ARM_FSET macro. · a1c54ebf
      2015-08-26  Matthew Wahab  <matthew.wahab@arm.com>
      
      	* config/arm/arm-builtins.c (def_mbuiltin): Use ARM_FSET macro.
      	(struct builtin_description): Change type of mask to unsigned
      	long.
      	* config/arm/arm-protos.h (insn_flags): Declare as type
      	arm_feature_set.
      	(tune_flags): Likewise.
      	* config/arm/arm.c (feature_count): New.
      	(insn_flags): Define as type arm_feature_set.
      	(tune_flags): Likewise.
      	(struct processors): Define field flags as type arm_feature_set.
      	(all_cores): Update for change to struct processors.
      	(all_architectures): Likewise.
      	(arm_option_check_internal): Use arm_feature_set and ARM_FSET
      	macros.
      	(arm_option_override_internal): Likewise.
      	(arm_option_override): Likewise.
      
      From-SVN: r227217
      Matthew Wahab committed
    • [AArch64][TLSIE][1/2] Rename test source file for reuse · 4ecade43
      2015-08-26  Jiong Wang  <jiong.wang@arm.com>
      
      gcc/testsuite/
      	* gcc.target/aarch64/tlsle_1.x: Rename to tls_1.x
      	* gcc.target/aarch64/aarch64/tlsle12_1.c: Update source file name.
      	* gcc.target/aarch64/aarch64/tlsle24_1.c: Likewise.
      	* gcc.target/aarch64/aarch64/tlsle32_1.c: Likewise.
      
      From-SVN: r227216
      Jiong Wang committed
    • [AArch64][TLSLE][3/3] Implement local executable mode for all memory model · cbf5629e
      2015-08-26  Marcus Shawcroft  <marcus.shawcroft@arm.com>
      	    Jiong Wang  <jiong.wang@arm.com>
      gcc/
      	* config/aarch64/aarch64.c (initialize_aarch64_tls_size): Set default
      	tls size for tiny, small, large memory model.
      	(aarch64_load_symref_appropriately): Support new symbol types.
      	(aarch64_expand_mov_immediate): Likewise.
      	(aarch64_print_operand): Likewise.
      	(aarch64_classify_tls_symbol): Likewise.
      	* config/aarch64/aarch64-protos.h (aarch64_symbol_context): Likewise.
      	(aarch64_symbol_type): Likewise.
      	* config/aarch64/aarch64.md (tlsle): Deleted.
      	(tlsle12_<mode>): New define_insn.
      	(tlsle24_<mode>): Likewise.
      	(tlsle32_<mode>): Likewise.
      	(tlsle48_<mode>): Likewise.
      	* doc/sourcebuild.texi (AArch64-specific attributes): Document
      	"aarch64_tlsle32".
      
      gcc/testsuite/
      	* lib/target-supports.exp (check_effective_target_aarch64_tlsle32):
      	New test directive.
      	* gcc.target/aarch64/tlsle_1.x: New test source.
      	* gcc.target/aarch64/tlsle12_1.c: New testcase.
      	* gcc.target/aarch64/tlsle24_1.c: Likewise.
      	* gcc.target/aarch64/tlsle32_1.c: Likewise.
      
      From-SVN: r227215
      Jiong Wang committed
    • arm-protos.h (FL_NONE): New. · 427388a4
      2015-08-26  Matthew Wahab  <matthew.wahab@arm.com>
      
      	* config/arm/arm-protos.h (FL_NONE): New.
      	(FL_ANY): New.
      	(arm_feature_set): New.
      	(ARM_FSET_MAKE): New.
      	(ARM_FSET_MAKE_CPU1): New.
      	(ARM_FSET_MAKE_CPU2): New.
      	(ARM_FSET_CPU1): New.
      	(ARM_FSET_CPU2): New.
      	(ARM_FSET_EMPTY): New.
      	(ARM_FSET_ANY): New.
      	(ARM_FSET_HAS_CPU1): New.
      	(ARM_FSET_HAS_CPU2): New.
      	(ARM_FSET_HAS_CPU): New.
      	(ARM_FSET_ADD_CPU1): New.
      	(ARM_FSET_ADD_CPU2): New.
      	(ARM_FSET_DEL_CPU1): New.
      	(ARM_FSET_DEL_CPU2): New.
      	(ARM_FSET_UNION): New.
      	(ARM_FSET_INTER): New.
      	(ARM_FSET_XOR): New.
      	(ARM_FSET_EXCLUDE): New.
      	(AFM_FSET_IS_EMPTY): New.
      	(ARM_FSET_CPU_SUBSET): New.
      
      From-SVN: r227214
      Matthew Wahab committed
    • [AArch64][TLSLE][2/3] Rename SYMBOL_TLSLE to SYMBOL_TLSLE24 · d18ba284
      2015-08-26  Jiong Wang  <jiong.wang@arm.com>
      
      gcc/
      	* config/aarch64/aarch64-protos.h (aarch64_symbol_type): Rename
      	SYMBOL_TLSLE to SYMBOL_TLSLE24.
      	* config/aarch64/aarch64.c (aarch64_load_symref_appropriately):
      	Likewise.
      	(aarch64_expand_mov_immediate): Likewise.
      	(aarch64_print_operand): Likewise.
      	(aarch64_classify_symbol): Likewise.
      
      From-SVN: r227213
      Jiong Wang committed
    • [AArch64][TLSLE][1/3] Add the option "-mtls-size" · 5eee3c34
      2015-08-26  Jiong Wang  <jiong.wang@arm.com>
      
      gcc/
        * config/aarch64/aarch64.opt (mtls-size): New entry.
        * config/aarch64/aarch64.c (initialize_aarch64_tls_size): New function.
        (aarch64_override_options_internal): Call initialize_aarch64_tls_size.
        * doc/invoke.texi (AArch64 Options): Document -mtls-size.
      
      From-SVN: r227212
      Jiong Wang committed