1. 03 Nov, 2016 12 commits
  2. 02 Nov, 2016 28 commits
    • i386.c (ix86_init_libfuncs): New. · 7ce53bd9
      	* config/i386/i386.c (ix86_init_libfuncs): New.  Call
      	darwin_rename_builtins here.
      	(ix86_expand_divmod_libfunc): New.
      	(TARGET_INIT_LIBFUNCS): Unconditionally define to ix86_init_libfuncs.
      	(TARGET_EXPAND_DIVMOD_LIBFUNC): Define.
      
      From-SVN: r241805
      Uros Bizjak committed
    • 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