1. 02 Nov, 2016 13 commits
    • re PR tree-optimization/78035 (Inconsistency between address comparison and alias analysis) · da42ac7b
      2016-11-02  Richard Biener  <rguenther@suse.de>
      
      	PR tree-optimization/78035
      	PR tree-optimization/77964
      	* gimple-pretty-print.c (pp_points_to_solution): Print
      	vars_contains_interposable.
      	* tree-ssa-alias.c: Include varasm.h.
      	(ptrs_compare_unequal): Check vars_contains_interposable and
      	decl_binds_to_current_def_p.
      	(dump_points_to_solution): Dump vars_contains_interposable.
      	* tree-ssa-alias.h (struct pt_solution): Add vars_contains_interposable
      	flag.
      	* tree-ssa-structalias.c: Include varasm.h.
      	(set_uids_in_ptset): Record whether vars contains a
      	not decl_binds_to_current_def_p variable in vars_contains_interposable.
      	(ipa_escaped_pt): Update initializer.
      
      	* gcc.target/i386/pr78035.c: New testcase.
      
      From-SVN: r241776
      Richard Biener committed
    • re PR middle-end/78047 (Chromium apparently gets miscompiled) · 3cea049a
      2016-11-02  Richard Biener  <rguenther@suse.de>
      
      	PR tree-optimization/78047
      	* tree-ssa-structalias.c (push_fields_onto_fieldstack): Initialize
      	fake field at offset zero conservatively regarding to may_have_pointers.
      
      From-SVN: r241775
      Richard Biener committed
    • tree-vrp.c (evrp_dom_walker::before_dom_children): Call infer_value_range on… · 4280df0a
      tree-vrp.c (evrp_dom_walker::before_dom_children): Call infer_value_range on stmt ops and update value-ranges.
      
      2016-11-02  Richard Biener  <rguenther@suse.de>
      
      	* tree-vrp.c (evrp_dom_walker::before_dom_children): Call
      	infer_value_range on stmt ops and update value-ranges.
      	Dump visited stmts and blocks.
      	(evrp_dom_walker::push_value_range): Dump changes.
      	(evrp_dom_walker::pop_value_range): Likewise.
      	(evrp_dom_walker::try_find_new_range): Avoid noop changes.
      
      	* gcc.dg/tree-ssa/vrp111.c: New testcase.
      	* gcc.dg/tree-ssa/pr20702.c: Disable EVRP.
      	* gcc.dg/tree-ssa/pr21086.c: Likewise.
      	* gcc.dg/tree-ssa/pr58480.c: Likewise.
      	* gcc.dg/tree-ssa/vrp08.c: Likewise.
      
      From-SVN: r241774
      Richard Biener committed
    • remove cast from prev_nonnote_insn_bb · 9815687d
      gcc/ChangeLog:
      
      2016-11-01  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>
      
      	* emit-rtl.c (prev_nonnote_insn_bb): Change argument type to
      	rtx_insn *.
      	* rtl.h (prev_nonnote_insn_bb): Adjust prototype.
      
      From-SVN: r241773
      Trevor Saunders committed
    • remove cast in delete_insn_chain · 2d93cd20
      gcc/ChangeLog:
      
      2016-11-01  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>
      
      	* cfgrtl.c (delete_insn_chain): Change argument type to rtx_insn *
      	and adjust for that.
      	* cfgrtl.h (delete_insn_chain): Adjust prototype.
      
      From-SVN: r241772
      Trevor Saunders committed
    • remove cast to rtx_insn * in remove_note · 466d1980
      gcc/ChangeLog:
      
      2016-11-01  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>
      
      	* config/rl78/rl78.c (gen-and_emit_move): Change argument type
      	to rtx_insn *.
      	(transcode_memory_rtx): Likewise.
      	(move_to_acc): Likewise.
      	(move_from_acc): Likewise.
      	(move_acc_to_reg): Likewise.
      	(move_to_x): Likewise.
      	(move_to_hl): Likewise.
      	(move_to_de): Likewise.
      	* config/rs6000/rs6000.c (emit_frame_save): Likewise.
      	(rs6000_emit_savres_rtx): Likewise.
      	(rs6000_emit_prologue): Likewise.
      	* reorg.c (update_reg_unused_notes): Likewise.
      	* rtl.h (remove_note): Adjust prototype.
      	* rtlanal.c (remove_note): Make argument type rtx_insn *.
      
      From-SVN: r241771
      Trevor Saunders committed
    • split up some variables to use rtx_insn * more · 4b6ab433
      gcc/ChangeLog:
      
      2016-11-01  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>
      
      	* config/alpha/alpha.c (alpha_legitimize_address_1): Split up
      	variables so some can be rtx_insn *.
      	(alpha_emit_xfloating_libcall): Likewise.
      	* config/mips/mips.c (mips_call_tls_get_addr): Likewise.
      	(mips_legitimize_tls_address): Likewise.
      	* optabs.c (expand_binop): Likewise.
      	* reload1.c (gen_reload): Likewise.
      
      From-SVN: r241770
      Trevor Saunders committed
    • split up the trial variable in reorg.c:relax_delay_slots to use rtx_insn * more · 88f9bb4d
      gcc/ChangeLog:
      
      2016-11-01  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>
      
      	* reorg.c (relax_delay_slots): Split up the trial variable.
      
      From-SVN: r241769
      Trevor Saunders committed
    • use rtx_insn * in various places where it is obvious · 9b2ea071
      gcc/ChangeLog:
      
      2016-11-01  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>
      
      	* config/arc/arc.c (arc_emit_call_tls_get_addr): Make the type
      	of variables rtx_insn *.
      	* config/arm/arm.c (arm_call_tls_get_addr): Likewise.
      	(legitimize_tls_address): Likewise.
      	* config/bfin/bfin.c (hwloop_optimize): Likewise.
      	(bfin_gen_bundles): Likewise.
      	* config/c6x/c6x.c (reorg_split_calls): Likewise.
      	(c6x_reorg): Likewise.
      	* config/frv/frv.c (frv_reorder_packet): Likewise.
      	* config/i386/i386.c (ix86_split_idivmod): Likewise.
      	* config/ia64/ia64.c (ia64_expand_compare): Likewise.
      	* config/m32c/m32c.c (m32c_prepare_shift): Likewise.
      	* config/mn10300/mn10300.c: Likewise.
      	* config/rl78/rl78.c: Likewise.
      	* config/s390/s390.c (s390_fix_long_loop_prediction): Likewise.
      	* config/sh/sh-mem.cc (sh_expand_cmpstr): Likewise.
      	(sh_expand_cmpnstr): Likewise.
      	(sh_expand_strlen): Likewise.
      	(sh_expand_setmem): Likewise.
      	* config/sh/sh.md: Likewise.
      	* emit-rtl.c (emit_pattern_before): Likewise.
      	* except.c: Likewise.
      	* final.c: Likewise.
      	* jump.c: Likewise.
      
      From-SVN: r241768
      Trevor Saunders committed
    • MAINTAINERS (Write After Approval): Update email address, · 3f95ca6c
      2016-11-01  Josh Conner  <joshconner@google.com>
      
      	* MAINTAINERS (Write After Approval): Update email address,
      
      From-SVN: r241767
      Josh Conner committed
    • c-cppbuiltin.c (c_cpp_builtins): Update __cpp_inheriting_constructors. · 2bc78e3c
      	* c-cppbuiltin.c (c_cpp_builtins): Update
      	__cpp_inheriting_constructors.
      
      From-SVN: r241766
      Jason Merrill committed
    • Implement P0136R1, Rewording inheriting constructors. · 31f7f784
      gcc/c-family/
      	* c.opt (-fnew-inheriting-ctors): New.
      	* c-opts.c: Default to on for ABI 11+.
      gcc/cp/
      	* call.c (enum rejection_reason_code): Add rr_inherited_ctor.
      	(inherited_ctor_rejection): New.
      	(add_function_candidate): Reject inherited ctors for copying.
      	(enforce_access): Use strip_inheriting_ctors.
      	(print_z_candidate): Likewise.  Handle rr_inherited_ctor.
      	(convert_like_real): Avoid copying inheriting ctor parameters.
      	(build_over_call): Likewise.  A base ctor inheriting from vbase
      	has no parms.  Sorry about varargs.
      	(joust): A local constructor beats inherited with the same convs.
      	* class.c (add_method): Handle hiding inheriting ctors.
      	(one_inherited_ctor): Handle new semantics.
      	(add_implicitly_declared_members): Pass using_decl down.
      	(build_clone): A base ctor inheriting from vbase has no parms.
      	* cp-tree.h (DECL_INHERITED_CTOR): Store this instead of the base.
      	(SET_DECL_INHERITED_CTOR): Likewise.
      	(DECL_INHERITED_CTOR_BASE): Adjust.
      	* constexpr.c: Adjust.
      	* error.c (dump_function_decl): Decorate inheriting ctors.
      	* init.c (emit_mem_initializers): Suppress access control in
      	inheriting ctor.
      	* mangle.c (write_special_name_constructor): Handle new inheriting
      	ctor mangling.
      	* method.c (strip_inheriting_ctors, inherited_ctor_binfo)
      	(ctor_omit_inherited_parms, binfo_inherited_from): New.
      	(synthesized_method_walk): Use binfo_inherited_from.  Suppress
      	access control in inheriting ctor.
      	(deduce_inheriting_ctor): Deleted if ambiguous ctor inheritance.
      	(maybe_explain_implicit_delete): Explain ambigous ctor inheritance.
      	(add_one_base_init, do_build_copy_constructor): Adjust.
      	(locate_fn_flags, explain_implicit_non_constexpr): Adjust.
      	(implicitly_declare_fn): Adjust.
      	(get_inherited_ctor): Remove.
      	* name-lookup.c (do_class_using_decl): Check for indirect ctor
      	inheritance.
      	* optimize.c (cdtor_comdat_group): Adjust for new mangling.
      	(maybe_clone_body): Handle omitted parms in base clone.
      	(maybe_thunk_body): Don't thunk if base clone omits parms.
      	* pt.c (tsubst_decl): Adjust.
      	(instantiate_template_1): Suppress access control in inheriting
      	ctor.
      	(fn_type_unification): Do deduction with inherited ctor.
      	* tree.c (special_function_p): Adjust.
      gcc/
      	* tree-inline.c (copy_tree_body_r): Only copy the taken branch of
      	a COND_EXPR with constant condition.
      libiberty/
      	* cp-demangle.c (d_ctor_dtor_name): Handle inheriting constructor.
      
      From-SVN: r241765
      Jason Merrill committed
    • Daily bump. · be9f7afb
      From-SVN: r241764
      GCC Administrator committed
  2. 01 Nov, 2016 24 commits
    • * gfortran.dg/pr70937.f90: require-effective-target lto. · 1b1d9303
      From-SVN: r241761
      David Edelsohn committed
    • libiberty: Fix memory leak in ada_demangle when symbol cannot be demangled. · a3f3eec0
      When a symbol cannot be demangled in ada_demangle a new demangled VEC
      will be allocated without deleting the demangled VEC already in use.
      
      Running testsuite/test-demangle under valgrind will show the leak for
      this entry in testsuite/demangle-expected:
      
          # Elaborated flag (not demangled)
          --format=gnat
          x_E
          <x_E>
      
       11 bytes in 1 blocks are definitely lost in loss record 1 of 1
          at 0x4C27BE3: malloc (vg_replace_malloc.c:299)
          by 0x413FE7: xmalloc (xmalloc.c:148)
          by 0x4025EC: ada_demangle (cplus-dem.c:930)
          by 0x402C59: cplus_demangle (cplus-dem.c:892)
          by 0x400FEC: main (test-demangle.c:317)
      
      libiberty/ChangeLog:
      
      	* cplus-dem.c (ada_demangle): Initialize demangled to NULL and
      	XDELETEVEC demangled when unknown.
      
      From-SVN: r241760
      Mark Wielaard committed
    • dwarf2out.c (gen_variable_die): Remove again origin_die variable and its initialization. · be621856
      	* dwarf2out.c (gen_variable_die): Remove again origin_die variable
      	and its initialization.
      
      From-SVN: r241759
      Jakub Jelinek committed
    • Fix dwarf2out.c non-HAVE_AS_LEB128 bootstrap failure · 04ec7059
      	* dwarf2out.c (output_rnglists): Wrap basebuf, len in
      	HAVE_AS_LEB128.
      
      From-SVN: r241758
      Rainer Orth committed
    • libgo: fix GOARCH_PHYSPAGESIZE for ia64 · 307dde6f
          
          From Andreas Schwab.
          
          Reviewed-on: https://go-review.googlesource.com/32537
      
      From-SVN: r241757
      Ian Lance Taylor committed
    • re PR fortran/78178 (ICE in WHERE statement with diagnostic) · 5b7c0519
      2016-11-01  Thomas Koenig  <tkoenig@gcc.gnu.org>
      
      	PR fortran/78178
      	* match.c (match_simple_where):  Fill in locus for assigment
      	in simple WHERE statement.
      
      2016-11-01  Thomas Koenig  <tkoenig@gcc.gnu.org>
      
      	PR fortran/69544
      	* gfortran.dg/where_6.f90:  New test.
      
      From-SVN: r241756
      Thomas Koenig committed
    • dwarf2out.c (add_name_and_src_coords_attributes): Add NO_LINKAGE_NAME argument,… · 70d28813
      dwarf2out.c (add_name_and_src_coords_attributes): Add NO_LINKAGE_NAME argument, don't call add_linkage_name if it is true.
      
      	* dwarf2out.c (add_name_and_src_coords_attributes): Add NO_LINKAGE_NAME
      	argument, don't call add_linkage_name if it is true.
      	(gen_variable_die): For C++ inline static data members, consider the
      	initial call when old_die is NULL to be declaration and call
      	add_name_and_src_coords_attributes in that case with true as
      	NO_LINKAGE_NAME.  Add DW_AT_inline attribute if needed.
      	(gen_member_die): For C++ inline static data members, emit a
      	definition DIE right away in DW_TAG_compile_unit context.
      cp/
      	* cp-objcp-common.c (cp_decl_dwarf_attribute): Handle DW_AT_inline.
      testsuite/
      	* g++.dg/debug/dwarf2/inline-var-1.C: New test.
      
      From-SVN: r241753
      Jakub Jelinek committed
    • re PR target/78166 (hash.c:1887:1: error: unrecognizable insn) · e592dd62
      	PR target/78166
      	* config/pa/pa.md: Add new shift/add patterns to handle
      	(plus (mult (reg) (mem_shadd_operand)) (reg)) source operand.
      
      From-SVN: r241749
      John David Anglin committed
    • xtensa: Fix PR target/78118 · ad89d820
      It started failing after the following commit: 32e90dc6a0cda45 ("PR
      rtl-optimization/61047").
      
      The change that made xtensa backend go ICE looks completely unrelated,
      and indeed, the issue is caused by the side effect of
      compute_frame_size() function call hidden in the
      INITIAL_ELIMINATION_OFFSET macro. This call updates the value of the
      xtensa_current_frame_size static variable, used in "return" instruction
      predicate. Prior to the change the value of xtensa_current_frame_size was
      set to 0 after the end of epilogue generation, which enabled the "return"
      instruction for the CALL0 ABI, but after the change the additional
      INITIAL_ELIMINATION_OFFSET calls make xtensa_current_frame_size non-zero
      and "return" pattern unavailable.
      
      Get rid of the global xtensa_current_frame_size and
      xtensa_callee_save_size variables by moving them into the
      machine_function structure. Implement predicate for the "return" pattern
      as a function. Don't communicate completion of epilogue generation
      through zeroing of xtensa_current_frame_size, add explicit epilogue_done
      variable to the machine_function structure. Don't update stack frame
      layout after the completion of reload.
      
      2016-11-01  Max Filippov  <jcmvbkbc@gmail.com>
      gcc/
      	* config/xtensa/xtensa-protos.h
      	(xtensa_use_return_instruction_p): New prototype.
      	* config/xtensa/xtensa.c (xtensa_current_frame_size,
      	xtensa_callee_save_size): Remove.
      	(struct machine_function): Add new fields: current_frame_size,
      	callee_save_size, frame_laid_out and epilogue_done.
      	(compute_frame_size, xtensa_expand_prologue,
      	xtensa_expand_epilogue): Replace xtensa_callee_save_size with
      	cfun->machine->callee_save_size and xtensa_current_frame_size
      	with cfun->machine->current_frame_size.
      	(compute_frame_size): Update cfun->machine->frame_laid_out and
      	don't update frame layout after reload completion.
      	(xtensa_expand_epilogue): Set cfun->machine->epilogue_done
      	instead of zeroing xtensa_current_frame_size.
      	(xtensa_use_return_instruction_p): New function.
      	* config/xtensa/xtensa.h (xtensa_current_frame_size): Remove
      	declaration.
      	(INITIAL_ELIMINATION_OFFSET): Use return value of
      	compute_frame_size instead of xtensa_current_frame_size value.
      	* config/xtensa/xtensa.md ("return" pattern): Use new predicate
      	function xtensa_use_return_instruction_p instead of inline code.
      
      From-SVN: r241748
      Max Filippov committed
    • tree.h (BLOCK_IN_COLD_SECTION_P): Define. · aaec3d85
      	* tree.h (BLOCK_IN_COLD_SECTION_P): Define.
      	* final.c (final_scan_insn): Set BLOCK_IN_COLD_SECTION_P.
      	* dwarf2out.c (rnglist_idx): New variable.
      	(struct dw_ranges): Add label, idx and maybe_new_sec fields.
      	(DEBUG_RNGLISTS_SECTION): Define.
      	(ranges_base_label): New variable.
      	(size_of_die) <case dw_val_class_range_list>: If using
      	DW_FORM_rnglistx, count size of uleb128 of range list index.
      	(value_format) <case dw_val_class_range_list>: For
      	-gdwarf-5 -gsplit-dwarf return DW_FORM_rnglistx.
      	(output_range_list_offset): Handle -gdwarf-5 .debug_rnglists
      	offsets.  Multiply dwarf < 5 offsets by 2 * DWARF_ADDR_SIZE.
      	(add_ranges_num): Remove useless prototype.  Don't multiply
      	by 2 * DWARF2_ADDR_SIZE.  Add maybe_new_sec argument, adjust
      	for new fields added to dw_ranges struct.
      	(add_ranges): Add maybe_new_sec argument and pass it
      	through to add_ranges_num.
      	(note_rnglist_head): New function.
      	(add_ranges_by_labels): Pass true as maybe_new_sec to
      	add_ranges_num, call note_rnglist_head on the head of the list.
      	(output_ranges): Add function comment.  Switch to
      	.debug_ranges section here and emit .Ldebug_ranges0 label.
      	(index_rnglists, output_rnglists): New functions.
      	(gen_subprogram_die): Formatting fixes.
      	(add_high_low_attributes): Don't divide offsets
      	by 2 * DWARF2_ADDR_SIZE.  Call note_rnglist_head on the
      	first list element or when pointing into the middle of
      	a list.  Pass true as second argument to add_ranges on the
      	first block fragment after cold/hot section switch.
      	(init_sections_and_labels): For -gdwarf-5 use .debug_rnglists
      	section instead of .debug_ranges.  Initialize
      	ranges_base_label if -gdwarf-5 -gsplit-dwarf.
      	(dwarf2out_finish): For -gdwarf-5 -gsplit-dwarf call
      	index_rnglists and add DW_AT_rnglists_base attr.  Don't switch
      	to dwarf_ranges_section here or emit .Ldebug_ranges0 label.
      	Call output_rnglists for -gdwarf-5.
      	(dwarf2out_c_finalize): Clear rnglist_idx.
      
      From-SVN: r241747
      Jakub Jelinek committed
    • hashtab.h: Use standard GPLv3 with runtime exception boilerplate. · f10e37a1
      	* hashtab.h: Use standard GPLv3 with runtime exception
      	boilerplate.
      
      From-SVN: r241746
      Jakub Jelinek committed
    • re PR fortran/69544 (Internal compiler error with -Wall and where) · 7f4266d4
      2016-11-01  Thomas Koenig  <tkoenig@gcc.gnu.org>
      
      	PR fortran/69544
      	* match.c (gfc_match_where):  Fill in locus for assigment
      	in simple WHERE statement.
      
      2016-11-01  Thomas Koenig  <tkoenig@gcc.gnu.org>
      
      	PR fortran/69544
      	* gfortran.dg/where_5.f90:  New test.
      
      From-SVN: r241745
      Thomas Koenig committed
    • Mark fallthrough cases with gcc_fallthrough. · a14b1c1c
      	* gcc/combine.c (simplify_compare_const): Add gcc_fallthrough.
      
      From-SVN: r241744
      Fritz Reese committed
    • runtime: recreate function called by cgo -gccgo · 69907c4a
          
          When using cgo -gccgo calls to C.GoString, C.GoStringN, and C.GoBytes
          are turned into calls to __go_byte_array_to_string and
          __go_string_to_byte_array.  Those functions were removed when the string
          code was copied from Go 1.7, but we still need them for cgo.  While cgo
          should be updated, old versions will exist for some time.
          
          Reviewed-on: https://go-review.googlesource.com/32474
      
      From-SVN: r241743
      Ian Lance Taylor committed
    • libgo: only rebuild package if dependent .gox has changed · f94a3edc
          
          Use mvifdiff and stamp files to track whether a .gox file has changed.
          When package A depends on package B, and we rebuild package B, only
          rebuild package A if package B's .gox file changes.  This is safe
          because when package A imports package B it only reads package B's .gox
          file.  This means that changes that do not affect export information
          will not cause dependent packages to be recompiled.
          
          Reviewed-on: https://go-review.googlesource.com/32476
      
      From-SVN: r241742
      Ian Lance Taylor committed
    • libgo: minor Makefile improvements · 380f39b9
          
          Suggested by Ralph Corderoy.
          
          Reviewed-on: https://go-review.googlesource.com/32414
      
      From-SVN: r241741
      Ian Lance Taylor committed
    • re PR go/78145 (Several go.test tests fail with error: integer constant overflow on 32bit targets) · d32e8006
      	PR go/78145
          compiler: don't put print/println constants into temporaries
          
          It's not necessary, and it breaks setting their type to int64/uint64
          when appropriate.
          
          This fixes GCC PR 78145.
          
          Reviewed-on: https://go-review.googlesource.com/32475
      
      From-SVN: r241740
      Ian Lance Taylor committed
    • * es.po: Update. · 3ec82f68
      From-SVN: r241737
      Joseph Myers committed
    • arm-c.c (arm_cpu_builtins): New macro definition. · 9fc158eb
      gcc/
      
      2016-09-30  Bilyan Borisov  <bilyan.borisov@arm.com>
      	    Tamar Christina <tamar.christina@arm.com>
      
      	* config/arm/arm-c.c (arm_cpu_builtins): New macro definition.
      	* config/arm/arm_neon.h (vmaxnm_f32): New intrinsinc.
      	(vmaxnmq_f32): Likewise.
      	(vminnm_f32): Likewise.
      	(vminnmq_f32): Likewise.
      	* config/arm/arm_neon_builtins.def (vmaxnm): New builtin.
      	(vminnm): Likewise.
      	* config/arm/neon.md (neon_<fmaxmin_op><mode>, VCVTF): New
      	expander.
      
      gcc/testsuite/
      
      2016-09-30  Bilyan Borisov  <bilyan.borisov@arm.com>
      
      	* gcc.target/arm/simd/vmaxnm_f32_1.c: New.
      	* gcc.target/arm/simd/vmaxnmq_f32_1.c: Likewise.
      	* gcc.target/arm/simd/vminnm_f32_1.c: Likewise.
      	* gcc.target/arm/simd/vminnmq_f32_1.c: Likewise.
      
      
      Co-Authored-By: Tamar Christina <tamar.christina@arm.com>
      
      From-SVN: r241736
      Bilyan Borisov committed
    • Minor tweaks · ea4249cb
      From-SVN: r241734
      Eric Botcazou committed
    • target-supports.exp: Normalize order of i?86 and x86_64 targets. · baeb7b5c
      	* lib/target-supports.exp: Normalize order of i?86 and x86_64 targets.
      	Whitespace fixes.
      	(check_effective_target_vect_cmdline_needed): Check
      	is-effective-target ia32 for x86 targets.
      	(check_effective_target_vect_simd_clones): Simplify condition.
      	(check_effective_target_vect_double): Ditto.
      	(check_effective_target_vect_aligned_arrays): Check
      	is-effective-target ia32 for x86 targets.  Simplify condition.
      	(check_effective_target_vect_multiple_sizes): Simplify condition.
      	(check_effective_target_sqrt_insn): Add i?86-*-* target.
      	(check_effective_target_sync_int_128): Simplify condition.
      	(check_effective_target_sync_int_128_runtime): Ditto.
      	(check_effective_target_sync_long_long_runtime): Ditto.
      	(check_effective_target_divmod): Add i?86-*-* target.
      
      From-SVN: r241733
      Uros Bizjak committed
    • vsx.md (VSX_EXTRACT_FL): New iterator for all binary floating point types… · 156b5cca
      vsx.md (VSX_EXTRACT_FL): New iterator for all binary floating point types supported by the hardware...
      
      [gcc]
      2016-10-31  Michael Meissner  <meissner@linux.vnet.ibm.com>
      
      	* config/rs6000/vsx.md (VSX_EXTRACT_FL): New iterator for all
      	binary floating point types supported by the hardware except for
      	double.
      	(vsx_xvcvsxwdp_df): Provide scalar result alternative to the
      	vector instruction for optimizing extracting a SImode from a
      	V4SImode vector and converting it to floating point.
      	(vsx_xvcvuxwdp_df): Likewise.
      	(vsx_extract_si): On ISA 3.0, allow extract target and temporary
      	registers to be any VSX register.  Move stores to the end of the
      	constraints.
      	(vsx_extract_si_<uns>float_df): New combiner pattern and splitter
      	to optimize extracting a SImode from a V4SImode vector and
      	converting it to a binary floating point type supported by the
      	hardware.  Use the vector converts instead of extracting the
      	element, sign extending it, and then converting it to double.
      	Other floating point types  than double first convert to double,
      	then the double is converted to that type.
      	(vsx_extract_si_<uns>float_<mode>): Likewise.
      
      [gcc/testsuite]
      2016-10-31  Michael Meissner  <meissner@linux.vnet.ibm.com>
      
      	* gcc.target/powerpc/vsx-extract-4.c: New test.
      	* gcc.target/powerpc/vsx-extract-5.c: Likewise.
      
      From-SVN: r241731
      Michael Meissner committed
    • Daily bump. · fb4c92aa
      From-SVN: r241730
      GCC Administrator committed
  3. 31 Oct, 2016 3 commits
    • driver-aarch64.c (host_detect_local_cpu): Rewrite handling of part num to handle… · bd5849af
      driver-aarch64.c (host_detect_local_cpu): Rewrite handling of part num to handle the case where multiple implementers...
      
      2016-10-31  Andrew Pinski  <apinski@cavium.com>
      
              * config/aarch64/driver-aarch64.c (host_detect_local_cpu):
              Rewrite handling of part num to handle the case where
              multiple implementers share the same part num.
      
      From-SVN: r241726
      Andrew Pinski committed
    • dwarf2out.c (DWARF_COMPILE_UNIT_HEADER_SIZE): Adjust for -gdwarf-5. · 8628bc67
      	* dwarf2out.c (DWARF_COMPILE_UNIT_HEADER_SIZE): Adjust for -gdwarf-5.
      	(DWARF_COMDAT_TYPE_UNIT_HEADER_SIZE): Likewise.
      
      Co-Authored-By: Jakub Jelinek <jakub@redhat.com>
      
      From-SVN: r241725
      Jan Kratochvil committed
    • dwarf2out.c (dwarf_AT): Handle DW_AT_dwo_name. · 13c21337
      	* dwarf2out.c (dwarf_AT): Handle DW_AT_dwo_name.
      	(use_debug_types): Adjust comment for DWARF5 DW_UT_type units.
      	(new_die): Handle DW_TAG_skeleton_unit like DW_TAG_compile_unit.
      	(is_cu_die, is_unit_die): Likewise.
      	(should_move_die_to_comdat, break_out_comdat_types): Adjust
      	comments for DWARF5 DW_UT_type units.
      	(output_compilation_unit_header): Add UT argument, output
      	start of DWARF5 .debug_info section header.
      	(output_comp_unit): Add dwo_id argument.  Adjust
      	output_compilation_unit_header caller, for DW_UT_split_compile
      	emit dwo_id field, otherwise padding1.  Emit padding2 field.
      	(add_top_level_skeleton_die_attrs): Add DW_AT_dwo_name
      	rather than DW_AT_GNU_dwo_name attr for -gdwarf-5.
      	(output_skeleton_debug_sections): Add dwo_id argument, for
      	-gdwarf-5 emit DWARF 5 DW_UT_skeleton header.
      	(output_comdat_type_unit): For -gdwarf-5 emit .debug_info
      	DW_UT_type or DW_UT_split_type units rather than .debug_types.
      	(dwarf2out_finish): Use DW_TAG_skeleton_unit rather than
      	DW_TAG_compile_unit for skeleton unit die.  Don't add
      	DW_AT_GNU_dwo_id attributes for -gdwarf-5, instead pass checksum
      	address to output_comp_unit and output_skeleton_debug_sections.
      
      From-SVN: r241724
      Jakub Jelinek committed