1. 03 Nov, 2016 15 commits
    • Default missing exponents to 0 with -fdec. · 6869e9c6
      	gcc/fortran/
      	* gfortran.texi: Document.
      	* gfortran.h (gfc_dt): New field default_exp.
      	* primary.c (match_real_constant): Default exponent with -fdec.
      	* io.c (match_io): Set dt.default_exp with -fdec.
      	* ioparm.def (IOPARM_dt_default_exp): New.
      	* trans-io.c (build_dt): Set IOPARM_dt_default_exp with -fdec.
      
      	libgfortran/io/
      	* io.h (IOPARM_DT_DEFAULT_EXP): New flag bit.
      	* list_read.c (parse_real, read_real): Allow omission of exponent with
      	IOPARM_DT_DEFAULT_EXP.
      	* read.c (read_f): Ditto.
      
      	gcc/testsuite/gfortran.dg/
      	* dec_exp_1.f90, dec_exp_2.f90, dec_exp_3.f90: New testcases.
      
      From-SVN: r241828
      Fritz Reese committed
    • [arm] Eliminate SUBTARGET_CPU_DEFAULT · 1bac673f
      	* config.gcc (arm-wrs-vxworks): Set target_cpu_cname.
      	(arm*-freebsd*): Likewise.
      	(arm*-*-netbsdelf*): Likewise.
      	(arm*-*-linux*): Likewise.
      	(arm*-*-uclinux*eabi*): Likewise.
      	(arm*-*-phoenix*): Likewise.
      	(arm*-*-eabi*, arm*-*-symbianelf*, arm*-*-rtems*): Likewise.
      	(arm*-*-*): Don't clobber target_cpu_cname when --with-cpu is not
      	specified.  Default to arm6 if target_cpu_cname is not set.
      	* arm/arm.c (arm_option_override): Simplify logic.  Assert that the
      	default cpu has been correctly configured.
      	* arm/arm.h (TARGET_CPU_DEFAULT): Delete.
      	(target_cpus): Delete TARGET_CPU_generic, add TARGET_CPU_num_cores.
      	* arm/freebsd.h (SUBTARGET_CPU_DEFAULT): Delete.
      	* arm/linux-eabi.h (SUBTARGET_CPU_DEFAULT): Delete.
      	* arm/linux-elf.h (SUBTARGET_CPU_DEFAULT): Delete.
      	* arm/symbian.h (SUBTARGET_CPU_DEFAULT): Delete.
      	* arm/unknown-elf.h (SUBTARGET_CPU_DEFAULT): Delete.
      
      From-SVN: r241827
      Richard Earnshaw committed
    • [DWARF] Enable DW_CFA_VAL_EXPRESSION support · ac5b3eff
      gcc/
      	* reg-notes.def (CFA_VAL_EXPRESSION): New entry.
      	* dwarf2cfi.c (dwarf2out_frame_debug_cfa_val_expression): New function.
      	(dwarf2out_frame_debug): Support REG_CFA_VAL_EXPRESSION.
      	(output_cfa_loc): Support DW_CFA_val_expression.
      	(output_cfa_loc_raw): Likewise.
      	(output_cfi): Likewise.
      	(output_cfi_directive): Likewise.
      	* dwarf2out.c (dw_cfi_oprnd1_desc): Support DW_CFA_val_expression.
      	(dw_cfi_oprnd2_desc): Likewise.
      	(mem_loc_descriptor): Recognize new pattern generated for value
      	expression.
      
      From-SVN: r241826
      Jiong Wang committed
    • combine lhs zero_extract fix (PR78186) · 122e3608
      
      	PR rtl-optimization/78186
      	* combine.c (change_zero_ext): Mask the RHS of a zero_extract as
      	well, when converting to IOR.
      
      From-SVN: r241824
      Segher Boessenkool committed
    • Support legacy PARAMETER statements with -std=legacy. · 35ea947f
      	gcc/fortran/
      	* decl.c (gfc_match_parameter): Allow omitted '()' with -std=legacy.
      	* parse.c (decode_statement): Match "parameter" before assignments.
      	* gfortran.texi: Document.
      
      	gcc/testsuite/gfortran.dg/
      	* dec_parameter_1.f: New test.
      	* dec_parameter_2.f90: Likewise.
      	* dec_parameter_3.f90: Likewise.
      	* dec_parameter_4.f90: Likewise.
      
      From-SVN: r241823
      Fritz O. Reese committed
    • sparc.md (vec_interleave_lowv8qi): Delete. · c0ae959b
      	* config/sparc/sparc.md (vec_interleave_lowv8qi): Delete.
      	(vec_interleave_highv8qi): Likewise.
      
      From-SVN: r241822
      Eric Botcazou committed
    • Make direct emission of time profiler counter · 7d29f8e3
      	* libgcov-profiler.c (__gcov_time_profiler): Remove.
      	(__gcov_time_profiler_atomic): Likewise.
      	* profile.c (instrument_values): Fix coding style.
      	(branch_prob): Use renamed function.
      	* tree-profile.c (init_ic_make_global_vars): Likewise.
      	(gimple_init_edge_profiler): Rename to
      	gimple_init_gcov_profiler.
      	tree_time_profiler_counter variable declaration.
      	(gimple_gen_time_profiler): Rewrite to do a direct gimple code
      	emission.
      	* value-prof.h: Remove an argument.
      	* gcc.dg/no_profile_instrument_function-attr-1.c: Update scanned
      	output.
      	* gcc.dg/tree-prof/time-profiler-3.c: New test.
      
      From-SVN: r241821
      Martin Liska committed
    • re PR libgcc/78067 (libgcc2 calls count_leading_zero with 0) · 5de3e2d8
      2016-11-03  Bernd Edlinger  <bernd.edlinger@hotmail.de>
      
              PR libgcc/78067
              * libgcc2.c (__floatdisf, __floatdidf): Avoid undefined results from
              count_leading_zeros.
      
      testsuite:
      2016-11-03  Bernd Edlinger  <bernd.edlinger@hotmail.de>
      
              PR libgcc/78067
              * gcc.dg/torture/fp-int-convert.h: Add more conversion tests.
      
      From-SVN: r241817
      Bernd Edlinger committed
    • rs6000.c (rs6000_xcoff_declare_object_name): Use symtab_node::get_create. · 4098e9b9
      2016-11-03  Richard Biener  <rguenther@suse.de>
      
              * config/rs6000/rs6000.c (rs6000_xcoff_declare_object_name): Use
              symtab_node::get_create.
      
      From-SVN: r241816
      Richard Biener committed
    • [rtlanal] Fix WORD_REGISTER_OPERATIONS condition in nonzero_bits · c096a329
      	* rtlanal.c (nonzero_bits1): Fix WORD_REGISTER_OPERATIONS condition.
      	Move comments into more natural position.
      
      From-SVN: r241815
      Kyrylo Tkachov committed
    • [ARC] Define SIZE_TYPE and PTRDIFF_TYPE correctly. · db64c64e
      This silences tons of -Wformat= warnings when building ARC Linux kernel
      with gcc 6.x (and restores the ARC gcc 4.8.x behaviour) which had
      similar fix.
      
      gcc/
      2016-11-03  Vineet Gupta  <vgupta@synopsys.com>
      
      	* config/arc/arc.h (SIZE_TYPE): Define as unsigned int.
      	(PTRDIFF_TYPE): Define as int.
      
      From-SVN: r241812
      Vineet Gupta committed
    • make targetm.gen_ccmp{first,next} take rtx_insn ** · cb4347e8
      gcc/ChangeLog:
      
      2016-11-03  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>
      
      	* ccmp.c (expand_ccmp_expr_1): Adjust.
      	(expand_ccmp_expr): Likewise.
      	(expand_ccmp_next): Likewise.
      	* config/aarch64/aarch64.c (aarch64_gen_ccmp_next): Likewise.
      	(aarch64_gen_ccmp_first): Likewise.
      	* doc/tm.texi: Regenerate.
      	* target.def (gen_ccmp_first): Change argument types to rtx_insn *.
      	(gen_ccmp_next): Likewise.
      
      From-SVN: r241811
      Trevor Saunders committed
    • tree-vect-loop.c (destroy_loop_vec_info): Handle cond_expr. · c12176d7
      	* tree-vect-loop.c (destroy_loop_vec_info): Handle cond_expr.
      	(vect_is_simple_reduction): Swap cond_reduction by inversion.
      
      From-SVN: r241810
      Bin Cheng committed
    • Fix bougs PR 78170 failure for avr · f03f0232
      The test defines int bitfields that are more than 16 bits wide, and this
      fails for the avr with its 16 bit integer size. Therefore, require
      effective target int32plus.
      
      gcc/testsuite/
      
      2016-11-03  Senthil Kumar Selvaraj  <senthil_kumar.selvaraj@atmel.com>
      
      	* gcc.c-torture/execute/pr78170.c: Require int32plus.
      
      From-SVN: r241809
      Senthil Kumar Selvaraj committed
    • Daily bump. · 92c03683
      From-SVN: r241808
      GCC Administrator committed
  2. 02 Nov, 2016 25 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