1. 02 Nov, 2016 33 commits
    • Makefile.in (LIB2_DIVMOD_FUNCS): Add _divmoddi4. · 18362447
      	* Makefile.in (LIB2_DIVMOD_FUNCS): Add _divmoddi4.
      	* libgcc2.c (__divmoddi4): New function.
      	* libgcc2.h (__divmoddi4): Declare.
      	* libgcc-std.ver.in (GCC_7.0.0): New. Add __PFX_divmoddi4
      	and __PFX_divmodti4.
      
      From-SVN: r241804
      Uros Bizjak committed
    • nvptx.c (PTX_GANG_DEFAULT): Set to zero. · 6668eb45
      	gcc/
      	* config/nvptx/nvptx.c (PTX_GANG_DEFAULT): Set to zero.
      
      	libgomp/
      	* plugin/plugin-nvptx.c (nvptx_exec): Interrogate board attributes
      	to determine default geometry.
      	* testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Set gang
      	dimension.
      
      
      Co-Authored-By: Nathan Sidwell <nathan@acm.org>
      
      From-SVN: r241803
      Cesar Philippidis committed
    • xtensa: don't xfail gcc.c-torture/compile/20001226-1.c · bd17a9df
      With jump trampolines implemented in binutils since 2.25 and enabled by
      default this test no longer fails on xtensa.
      
      2016-11-02  Max Filippov  <jcmvbkbc@gmail.com>
      gcc/testsuite/
      	* gcc.c-torture/compile/20001226-1.c: Don't xfail on xtensa.
      
      From-SVN: r241801
      Max Filippov committed
    • xtensa: fix ICE on pr59037.c test · 9ae4ef4c
      xtensa gcc gets ICE on pr59037.c test because its xtensa_output_literal
      function cannot handle integer literals of sizes other than 4 and 8,
      whereas the test uses 16-byte int vector.
      Split integer literal formatting into the recursive function
      xtensa_output_integer_literal_parts capable of handling literals of any
      power of 2 size not less than 4.
      
      2016-11-02  Max Filippov  <jcmvbkbc@gmail.com>
      gcc/
      	* config/xtensa/xtensa.c (xtensa_output_integer_literal_parts):
      	New function.
      	(xtensa_output_literal): Use xtensa_output_integer_literal_parts
      	to format MODE_INT and MODE_PARTIAL_INT literals.
      
      From-SVN: r241800
      Max Filippov committed
    • rs6000: Disable shrink-wrap-separate for abi=spe (PR78168) · 302fd2cc
      With the SPE ABI, if we wrap GPRs we need to handle the upper half of the
      extended 64-bit registers as well, which we cannot easily do.  So, this
      patch disables separate shrink-wrapping for the SPE ABI.
      
      
      	PR target/78168
      	* config/r6000/rs6000.c (rs6000_get_separate_components): Return
      	NULL if TARGET_SPE_ABI.
      
      From-SVN: r241799
      Segher Boessenkool committed
    • Fix for big-endian gcc.c-torture/execute/pr55750.c · b231822d
      	* gimple-ssa-store-merging.c (encode_tree_to_bitpos): Don't forget to
      	clear padding bits even when they're less than a byte.
      
      From-SVN: r241798
      Kyrylo Tkachov committed
    • Fix failing vminnm/vmaxnm test on ARM. · 2b01aad6
      	* gcc.target/arm/simd/vmaxnm_f32_1.c (dg-require-effective-target):
      	Check for arm_v8_neon_hw.
      	* gcc.target/arm/simd/vmaxnmq_f32_1.c (dg-require-effective-target):
      	Likewise.
      	* gcc.target/arm/simd/vminnm_f32_1.c (dg-require-effective-target):
      	Likewise.
      	* gcc.target/arm/simd/vminnmq_f32_1.c(dg-require-effective-target):
      	Likewise.
      
      From-SVN: r241797
      Tamar Christina committed
    • gimple-ssa-store-merging.c: Include gimplify-me.h. · aa55dc0c
      2016-11-02  Richard Biener  <rguenther@suse.de>
      
      	* gimple-ssa-store-merging.c: Include gimplify-me.h.
      	(imm_store_chain_info::output_merged_stores): Force base_addr
      	to be proper GIMPLE for a MEM_REF address.
      	(pass_store_merging::execute): Restrict negative bitpos
      	handling to non-MEM_REF bases.  Remove TREE_THIS_VOLATILE
      	check.  Take into account non-NULL_TREE offset if the base
      	is already addressable.
      
      	* gcc.dg/store_merging_8.c: New testcase.
      
      From-SVN: r241796
      Richard Biener committed
    • New warning -Wargument-mismatch for function argument mismatches. · 3df19fa0
      	gcc/fortran/
      	* lang.opt, invoke.texi: New argument -Wargument-mismatch.
      	* interface.c (compare_parameter, compare_actual_formal,
      	gfc_check_typebound_override, argument_rank_mismatch): Control argument
      	mismatch warnings with -Wargument-mismatch.
      	* resolve.c (resolve_structure_cons, resolve_global_procedure): Ditto.
      
      	gcc/testsuite/gfortran.dg/
      	* warn_argument_mismatch_1.f90: New test.
      
      From-SVN: r241795
      Fritz O. Reese committed
    • Allow warning flags to associate through gfc_error. · eab1ee22
      	gcc/fortran/
      	* gfortran.h (gfc_error): New declaration for gfc_error with 'opt'.
      	* error.c (gfc_error): Add optional 'opt' argument.
      	* error.c (gfc_notify_std): Call fully-qualified gfc_error.
      
      From-SVN: r241794
      Fritz Reese committed
    • Add LE/BE SHA1H patterns with a V2SI input. · 5304d044
      Add LE/BE SHA1H patterns with a V2SI input.  This avoids unnecessary
      DUPs when using intrinsics like vsha1h_u32 (vgetq_lane_u32 (x, 0)).
      
          gcc/
              * config/aarch64/aarch64-simd.md (aarch64_crypto_sha1hv4si): 
              New pattern.
              (aarch64_be_crypto_sha1hv4si): New pattern.
      
      From-SVN: r241791
      Wilco Dijkstra committed
    • The add expander still contains some expansion code that was required for the… · 45a6c1e3
      The add expander still contains some expansion code that was required for the previous prolog/epilog code...
      
      The add expander still contains some expansion code that was required for the
      previous prolog/epilog code, but which is no longer needed.  I also noticed
      that the current version splits off immediates from frame addressing
      instructions, which doesn't seem a good idea.  Avoiding this resulted in small
      codesize improvements.
      
          gcc/
              * config/aarch64/aarch64.md (add<mode>3): Remove
              redundant code.  Don't split frame based additions.
      
      From-SVN: r241790
      Wilco Dijkstra committed
    • gimple-ssa-store-merging.c (struct store_immediate_info): Remove redundant val and dest members. · b5926e23
      2016-11-02  Richard Biener  <rguenther@suse.de>
      
      	* gimple-ssa-store-merging.c (struct store_immediate_info): Remove
      	redundant val and dest members.
      	(store_immediate_info::store_immediate_info): Adjust.
      	(merged_store_group::merged_store_group): Adjust.
      	(merged_store_group::apply_stores): Likewise.
      	(struct imm_store_chain_info): Add base_addr field.
      	(imm_store_chain_info::imm_store_chain_info): New constructor.
      	(imm_store_chain_info::terminate_and_process_chain): Do not pass base.
      	(imm_store_chain_info::output_merged_store): Likewise.  Use
      	addr_base which is already the address.
      	(imm_store_chain_info::output_merged_stores): Likewise.
      	(pass_tree_store_merging::terminate_all_aliasing_chains): Take
      	imm_store_chain_info instead of base.  Fix alias check.
      	(pass_tree_store_merging::terminate_and_release_chain): Likewise.
      	(imm_store_chain_info::coalesce_immediate_stores): Adjust.
      	(pass_store_merging::execute): Refuse to operate on TARGET_MEM_REF.
      	use the address of the base and adjust for other changes.
      
      From-SVN: r241789
      Richard Biener committed
    • prod-options.c: XFAIL AIX. · 4b69fb13
              * gcc.dg/debug/dwarf2/prod-options.c: XFAIL AIX.
              * gcc.dg/debug/dwarf2/pr71855.c: XFAIL AIX.
              * gcc.dg/addr_equal_1.c: XFAIL AIX.
              * gcc.dg/pr65779.c: XFAIL AIX.
              * gcc.dg/pr70405.c: XFAIL AIX.
      
      From-SVN: r241787
      David Edelsohn committed
    • inline-var-1.C: XFAIL AIX. · 075be4a1
              * g++.dg/debug/dwarf2/inline-var-1.C: XFAIL AIX.
              * g++.dg/debug/dwarf2/ref-2.C: XFAIL AIX.
              * g++.dg/debug/dwarf2/constexpr-var-1.C: XFAIL AIX.
      
      From-SVN: r241786
      David Edelsohn committed
    • Fix linker detection in check_gc_sections_available · fdb1aa55
      	* lib/target-supports.exp (check_gc_sections_available): Use
      	-print-prog-name=ld to determine linker used.
      
      From-SVN: r241783
      Rainer Orth committed
    • Fix host_size_t_cst_p predicat · 4adbcdb4
      	* fold-const-call.c (host_size_t_cst_p): Test whether
      	t is convertible to size_t.
      	* gcc.dg/tree-ssa/builtins-folding-gimple-ub.c (main): Add
      	test case.
      
      From-SVN: r241780
      Martin Liska committed
    • PR tree-optimization/78170: Truncate sign-extended padding when encoding bitfields · 4b2c06f4
      	PR tree-optimization/78170
      	* gimple-ssa-store-merging.c (encode_tree_to_bitpos): Truncate padding
      	introduced by native_encode_expr on little-endian as well.
      
      	* gcc.c-torture/execute/pr78170.c: New test.
      
      From-SVN: r241779
      Kyrylo Tkachov committed
    • PR tree-optimization/78162: Reject negative offsets in store merging early · 63e523d6
      	PR tree-optimization/78162
      	* gimple-ssa-store-merging.c (execute): Mark stores with bitpos < 0
      	as invalid.
      
      	* gcc.c-torture/compile/pr78162.c: New test.
      
      From-SVN: r241778
      Kyrylo Tkachov committed
    • [AArch64] Add function comments to some prologue/epilogue helpers · 04ddfe06
      	* config/aarch64/aarch64.c (aarch64_register_saved_on_entry): Add
      	function comment.
      	(aarch64_next_callee_save): Likewise.
      	(aarch64_pushwb_single_reg): Likewise.
      	(aarch64_gen_storewb_pair): Likewise.
      	(aarch64_push_regs): Likewise.
      	(aarch64_gen_loadwb_pair): Likewise.
      	(aarch64_pop_regs): Likewise.
      	(aarch64_gen_store_pair): Likewise.
      	(aarch64_gen_load_pair): Likewise.
      	(aarch64_save_callee_saves): Likewise.
      	(aarch64_restore_callee_saves): Likewise.
      
      From-SVN: r241777
      Kyrylo Tkachov committed
    • 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 7 commits